日期:2014-05-18 浏览次数:20655 次
public class UploadServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
// step1,创建一个DiskFileItemFactory对象
// 为解析器提供解析时的缺省的配置。
DiskFileItemFactory dfif = new DiskFileItemFactory();
// step2,创建一个解析器
ServletFileUpload sfu = new ServletFileUpload(dfif);
// step3,使用解析器解析
try {
// FileItem对象封装了一个表单域当中的所有的
// 数据。
List<FileItem> items = sfu.parseRequest(request);
for (int i = 0; i < items.size(); i++) {
FileItem item = items.get(i);
// 要判断是一个普通的表单域还是
// 上传文件域
if (item.isFormField()) {
// 是一个普通的表单域
String name = item.getFieldName();
String value = item.getString();
System.out.println(name + ":" + value);
} else {
// 上传文件域,要将文件保存在服务器端
ServletContext sc = this.getServletContext();
// 获得实际部署时物理路径
String path = sc.getRealPath("upload");
System.out.println(path);
// 获得上传文件的名称
String fileName = item.getName();
System.out.println(fileName);
File file = new File(path + "//" + fileName);
System.out.println(file);
item.write(file);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}