jsp上传显示图片的方法:首先创建上传JSP页面;然后创建上传图片后台处理业务“upload.jsp”;最后使用JS完成交互。

之前做过一个项目,有一个功能是图片上传并且展示图片,尝试过其他的方法,但会有一个问题,那就是在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
时尚购物程序v1.01、全立体设计。此系统由3个Flash动画为主线(正式版带原文件),设计更形象,网站更有吸引力。这种设计在网店系统内绝无仅有,使您的网店与众不同。2、内置音乐播放器,简单灵活的操作即可完成设置,前台任意调用。并带详细说明文件,一看就懂。合理使用此功能,可使网站更富渲染力。3、支持多图显示,每件产品最多可以上传9张图片。4、后台功能强大,销售管理,财务管理,在线支付平台管理等功能
<%@ 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对象上。
List items = 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
这部分缺失,导致交互出现问题,所以需要大家摸索了,加油。









