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

Python017

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

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

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

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

很简单。

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

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

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

response.setContentType("text/htmlcharset=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又做了封装,使用起来更傻瓜化,很容易掌握。

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

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

操作方法如下:

方法一:

1、首先,打开一个图文并茂的word文档。

2、然后,点击word菜单的“文件——另存为”。

3、 随后,在文件类型选择为网页(.htm.html),假设起名为X,那么,在这个另存的文件同一文件夹中,就会看到名为X.file的文件夹。

4、这时,再打开看看,Word文档的图片便已经都保存在这里了。这时,便可以将这些图片直接上传到博客中了。

在博客文章里插入图片:

方法二:

1,网络上已经有的图片:需要先得到完整的图片URL地址(一般在图片上单击右键,选“属性”,在“地址”部分复制全部内容),在“发表文章”区域的上面菜单中,选择几个对齐方式右边的那个“插入图片”按钮,然后在请输入图片链接框中选择全部后,作“粘贴”操作。

2,自己电脑上的图片:需要先在“发表文章”区域的下面,点击“图片剪切板”,打开可贴图片的区域,然后按“浏览”选择图片,在需要插入图片的地方点一下鼠标,然后按“插入图片”即可。