javax.servelet.context.tempdir
jsp页面必须有<form action="Fileshangchuan" method="post" enctype="multipart/form-data">
导入commons-fileupload-1.2.1.jar,commons-io-1.4.jar包
- 每一个servlet上下文都需要一个临时存储目录。Servlet容器必须为每一个servlet上下文提供一个私有的临时目录,并且使它可以通过javax.servlet.context.tempdir上下文属性可用。这些属性关联的对象必须是java.io.File类型。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//List<FileItem> items=
ServletContext servletContext=null;
servletContext=request.getSession().getServletContext();
boolean isMultipart=ServletFileUpload.isMultipartContent(request); //判单是否是上传,encType="multipart/form-data";
if(isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
String str="javax.servelet.context.tempdir";
File repository=(File) servletContext.getAttribute(str);
factory.setRepository(repository); //设置当超出临界时,存放的零时目录
ServletFileUpload upload=new ServletFileUpload(factory); //创建一个上传工具
try {
List<FileItem> items = upload.parseRequest(request); //读取表单所有内容
String second=new SimpleDateFormat("yyyyMMddhhmmss").format(new Date());
String fileName=second+".jpg"; //避免重名
for(FileItem item:items) { //遍历,路径是发布以后的路径.me_tcat7
File savePath=new File("D:\\Myeclipse\\新建文件夹\\.metadata\\.me_tcat7\\webapps\\sessiontext\\img");
if(!savePath.exists()) { //判断路径是否存在
savePath.mkdirs();
}
if(item.isFormField()){ //判断是否为普通字段
String value=item.getString("utf-8"); //设置编码格式
System.out.println(value);
}
else {
File uploadFile=new File(savePath+File.separator+fileName); //给照片确定路径 分隔符
try {
item.write(uploadFile); //写入
System.out.println("保存成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}