这篇文章主要介绍jsp上传显示图片的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联,专注为中小企业提供官网建设、营销型网站制作、成都响应式网站建设公司、展示型成都网站制作、成都网站设计、外贸营销网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
之前做过一个项目,有一个功能是图片上传并且展示图片,尝试过其他的方法,但会有一个问题,那就是在IE8上图片并不能下常展示,
所以便用以下方法来上传图片,很好的解决了此问题,步骤如下:
1.上传图片页面index.jsp
<%@ page language="java" import="java.util.*,java.net.URLDecoder" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>My JSP 'index.jsp' starting page Ajax文件上传例子,选择图片后立即上传,无需点击上传按钮
2.上传图片后台处理业务upload.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="java.io.PrintWriter,java.io.File,org.apache.commons.fileupload.FileItem,org.apache.commons.fileupload.disk.DiskFileItemFactory,org.apache.commons.fileupload.servlet.ServletFileUpload" %> <% System.out.println("///////"); // dfif对象为解析器提供解析时的缺省的一些配置 DiskFileItemFactory dfif = new DiskFileItemFactory(); // 创建解析器 ServletFileUpload sfu = new ServletFileUpload(dfif); sfu.setHeaderEncoding("utf-8");//解决了上传图片如果为中文就是乱码问题 String loadpath="D:/upload";//上传文件存放目录(此路径是将上传的文件放在本地的硬盘上) String filName=""; try{ // 开始解析(分析InputStream) // 每一个表单域当中的数据都会 // 封装到一个对应的FileItem对象上。 Listitems = sfu.parseRequest(request); for (int i = 0; i < items.size(); i++) { FileItem item = items.get(i); // 要区分是上传文件域还是普通的表单域 if (item.isFormField()) { // 普通表单域 String name = item.getString(); filName=name; System.out.println("name:" + name); } else { // 上传文件域 // ServletContext:servlet上下文对象。 ServletContext sctx = getServletContext(); // 获得原始的文件名 String filename = item.getName(); File loadFolder = new File(loadpath); if (!loadFolder.exists()) { loadFolder.mkdirs(); } File file = new File(loadFolder + "\\" + filename); item.write(file); } } String result=loadpath+"/"+filName; PrintWriter writer = response.getWriter(); writer.print("{"); //writer.print("msg:\"文件大小:"+item.getSize()+",文件名:"+filename+"\""); writer.print("picUrl:\"" + result + "\""); writer.print("}"); writer.close(); }catch(Exception e){ e.printStackTrace(); } %>
3.所需主要文件ajaxupload.js
这部分缺失,导致交互出现问题,所以需要大家摸索了,加油。
以上是jsp上传显示图片的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!