「java上传图片显示」java读取图片并显示

博主:adminadmin 2022-12-08 01:30:07 62

本篇文章给大家谈谈java上传图片显示,以及java读取图片并显示对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java实现图片上传至服务器并显示,如何做?

给你段代码,是用来在ie上显示图片的(servlet):

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String id = request.getParameter("id");

File file = new File(getServletContext().getRealPath("/")+"out"+"/"+id+".gif");

response.setCharacterEncoding("gb2312");

response.setContentType("doc");

response.setHeader("Content-Disposition", "attachment; filename=" + new String(file.getName().getBytes("gb2312"),"iso8859-1"));

System.out.println(new String(file.getName().getBytes("gb2312"),"gb2312"));

OutputStream output = null;

FileInputStream fis = null;

try

{

output = response.getOutputStream();

fis = new FileInputStream(file);

byte[] b = new byte[1024];

int i = 0;

while((i = fis.read(b))!=-1)

{

output.write(b, 0, i);

}

output.write(b, 0, b.length);

output.flush();

response.flushBuffer();

}

catch(Exception e)

{

System.out.println("Error!");

e.printStackTrace();

}

finally

{

if(fis != null)

{

fis.close();

fis = null;

}

if(output != null)

{

output.close();

output = null;

}

}

}

这个程序的功能是根据传入的文件名(id),来为浏览器返回图片流,显示在img标签里

标签的格式写成如下:

img src=" "/br/

显示的是111.gif这个图片

你上面的问题:

1.我觉得你的第二个办法是对的,我们也是这样做的,需要的是把数据库的记录id号传进servlet,然后读取这条记录中的路径信息,生成流以后返回就是了

关于上传文件的问题,我记得java中应该专门有个负责文件上传的类,你调用就行了,上传后存储在指定的目录里,以实体文件的形式存放

你可以参考这个:

回复:

1.是的,在response中写入流就行了

2.是发到servlet中的,我们一般都是写成servlet,短小精悍,使用起来方便,struts应该也可以,只是我没有试过,恩,你理解的很对

java怎么上传图片然后显示在JSP页面中

java上图片和上传文件的方式是一样的... 都是将文件上传到指定目录后,地址放入数据库中.

这种方式, 只需要学习下 apache中的common下的upload包 操作即可.

如果是struts, 带有这个jar包的

JAVA上传图片到项目文件夹,怎么显示在页面上啊?

1、你首先要获取到该文件夹路径

2、在jsp页面中引用img标签,然后利用src将路径传进去

3、即可显示在页面

java实现图片上传并显示

file inputstream outputstream ,基本上IO流章节实现,当然还有很多封装的jar包,网上去搜搜。另外,图片上传你还需一个web层

java实现图片上传至服务器并显示,如何做?希望要具体的代码实现

很简单。

可以手写IO读写(有点麻烦)。

怕麻烦的话使用FileUpload组件 在servlet里doPost嵌入一下代码

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

response.setContentType("text/html;charset=gb2312");

PrintWriter out=response.getWriter();

//设置保存上传文件的目录

String uploadDir =getServletContext().getRealPath("/up");

System.out.println(uploadDir);

if (uploadDir == null)

{

out.println("无法访问存储目录!");

return;

}

//根据路径创建一个文件

File fUploadDir = new File(uploadDir);

if(!fUploadDir.exists()){

if(!fUploadDir.mkdir())//如果UP目录不存在 创建一个 不能创建输出...

{

out.println("无法创建存储目录!");

return;

}

}

if (!DiskFileUpload.isMultipartContent(request))

{

out.println("只能处理multipart/form-data类型的数据!");

return ;

}

DiskFileUpload fu = new DiskFileUpload();

//最多上传200M数据

fu.setSizeMax(1024 * 1024 * 200);

//超过1M的字段数据采用临时文件缓存

fu.setSizeThreshold(1024 * 1024);

//采用默认的临时文件存储位置

//fu.setRepositoryPath(...);

//设置上传的普通字段的名称和文件字段的文件名所采用的字符集编码

fu.setHeaderEncoding("gb2312");

//得到所有表单字段对象的集合

List fileItems = null;

try

{

fileItems = fu.parseRequest(request);//解析request对象中上传的文件

}

catch (FileUploadException e)

{

out.println("解析数据时出现如下问题:");

e.printStackTrace(out);

return;

}

//处理每个表单字段

Iterator i = fileItems.iterator();

while (i.hasNext())

{

FileItem fi = (FileItem) i.next();

if (fi.isFormField()){

String content = fi.getString("GB2312");

String fieldName = fi.getFieldName();

request.setAttribute(fieldName,content);

}else{

try

{

String pathSrc = fi.getName();

if(pathSrc.trim().equals("")){

continue;

}

int start = pathSrc.lastIndexOf('\\');

String fileName = pathSrc.substring(start + 1);

File pathDest = new File(uploadDir, fileName);

fi.write(pathDest);

String fieldName = fi.getFieldName();

request.setAttribute(fieldName, fileName);

}catch (Exception e){

out.println("存储文件时出现如下问题:");

e.printStackTrace(out);

return;

}

finally //总是立即删除保存表单字段内容的临时文件

{

fi.delete();

}

}

}

注意 JSP页面的form要加enctype="multipart/form-data" 属性, 提交的时候要向服务器说明一下 此页面包含文件。

如果 还是麻烦,干脆使用Struts 的上传组件 他对FileUpload又做了封装,使用起来更傻瓜化,很容易掌握。

-----------------------------

以上回答,如有不明白可以联系我。

java上传图片显示的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java读取图片并显示、java上传图片显示的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-08,除非注明,否则均为首码项目网原创文章,转载请注明出处。