java上传文件

上传文件

1.上传文件原理

2.使用fileupload的jar包代码实现

 1 String tempPath = this.getServletContext().getRealPath("temp");
 2         DiskFileItemFactory factory=new DiskFileItemFactory(1024*1024,new File(tempPath));
 3         
 4         ServletFileUpload upload=new ServletFileUpload(factory);
 5         upload.setHeaderEncoding("utf-8");
 6         try {
 7             @SuppressWarnings("unchecked")
 8             List<FileItem> items = upload.parseRequest(request);
 9             if(items!=null){
10                 for (FileItem fileItem : items) {
11                     if(fileItem.isFormField()){
12                         String fieldName = fileItem.getFieldName();
13                         String value = fileItem.getString("utf-8");
14                         System.out.println(fieldName+"----->"+value);
15                     }else{
16                         String fileName = fileItem.getName();
17                         InputStream in = fileItem.getInputStream();
18                         StringBuilder filePath=new StringBuilder(this.getServletContext().getRealPath("upload"));
19                         filePath.append("/").append(new Date().getTime()).append(fileName.substring(fileName.lastIndexOf(".")));
20                         OutputStream out=new FileOutputStream(filePath.toString());
21                         byte[] b=new byte[1024];
22                         int len=0;
23                         while((len=in.read(b))!=-1){
24                             out.write(b, 0, len);
25                         }
26                         out.close();
27                         in.close();
28                         fileItem.delete();
29                     }
30                 }
31             }
32         } catch (FileUploadException e) {
33             // TODO Auto-generated catch block
34             e.printStackTrace();
35         }

 

posted @ 2018-02-04 23:09  猿上生活  阅读(107)  评论(0编辑  收藏  举报