FileUpload
1 package robert.utilities;
2
3 import java.util.Iterator;
4 import java.util.List;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.apache.commons.fileupload.FileItem;
9 import org.apache.commons.fileupload.FileItemFactory;
10 import org.apache.commons.fileupload.FileUploadException;
11 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
12 import org.apache.commons.fileupload.servlet.ServletFileUpload;
13
14 /**
15 * FileUpload Utilities
16 * @author Robert Lai
17 *
18 */
19 public class FileUploadUtils {
20
21 public void save(HttpServletRequest request){
22
23 //Check that we have a file upload request
24 boolean isMultipart=ServletFileUpload.isMultipartContent(request);
25 if(!isMultipart){
26 return;
27 }
28 //Create a factory for disk-based file items
29 FileItemFactory factory = new DiskFileItemFactory();
30 // Create a factory for disk-based file items
31 // DiskFileItemFactory factory = new DiskFileItemFactory(yourMaxMemorySize, yourTempDirectory);
32 // Set factory constraints
33 // factory.setSizeThreshold(yourMaxMemorySize);
34 // factory.setRepository(yourTempDirectory);
35
36 //Create a new file upload handler
37 ServletFileUpload upload = new ServletFileUpload(factory);
38 // Set overall request size constraint
39 // upload.setSizeMax(yourMaxRequestSize);
40
41 // Parse the request
42 // FileItemIterator iter = upload.getItemIterator(request);
43 // while (iter.hasNext()) {
44 // FileItemStream item = iter.next();
45 // String name = item.getFieldName();
46 // InputStream stream = item.openStream();
47 // if (item.isFormField()) {
48 // System.out.println("Form field " + name + " with value "
49 // + Streams.asString(stream) + " detected.");
50 // } else {
51 // System.out.println("File field " + name + " with file name "
52 // + item.getName() + " detected.");
53 // // Process the input stream
54 //
55 // }
56 // }
57
58 //Parse the request
59 List<FileItem> items=null;
60 try {
61 items = upload.parseRequest(request);
62 } catch (FileUploadException e) {
63 e.printStackTrace();
64 }
65 // Process the uploaded items
66 Iterator iter = items.iterator();
67 while (iter.hasNext()) {
68 FileItem item = (FileItem) iter.next();
69 if (item.isFormField()) {
70 //processFormField(item);
71 String name = item.getFieldName();
72 String value = item.getString();
73 } else {
74 //processUploadedFile(item);
75 String fieldName = item.getFieldName();
76 String fileName = item.getName();
77 String contentType = item.getContentType();
78 boolean isInMemory = item.isInMemory();
79 long sizeInBytes = item.getSize();
80
81 // Process a file upload
82 // if (writeToFile) {
83 // File uploadedFile = new File();
84 // item.write(uploadedFile);
85 // } else {
86 // InputStream uploadedStream = item.getInputStream();
87 //
88 // uploadedStream.close();
89 // }
90 // Process a file upload in memory
91 byte[] data = item.get();
92
93 }
94 }
95 }
96 }
97
这不是一个完整的代码。只是可以作为参考的。
2
3 import java.util.Iterator;
4 import java.util.List;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.apache.commons.fileupload.FileItem;
9 import org.apache.commons.fileupload.FileItemFactory;
10 import org.apache.commons.fileupload.FileUploadException;
11 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
12 import org.apache.commons.fileupload.servlet.ServletFileUpload;
13
14 /**
15 * FileUpload Utilities
16 * @author Robert Lai
17 *
18 */
19 public class FileUploadUtils {
20
21 public void save(HttpServletRequest request){
22
23 //Check that we have a file upload request
24 boolean isMultipart=ServletFileUpload.isMultipartContent(request);
25 if(!isMultipart){
26 return;
27 }
28 //Create a factory for disk-based file items
29 FileItemFactory factory = new DiskFileItemFactory();
30 // Create a factory for disk-based file items
31 // DiskFileItemFactory factory = new DiskFileItemFactory(yourMaxMemorySize, yourTempDirectory);
32 // Set factory constraints
33 // factory.setSizeThreshold(yourMaxMemorySize);
34 // factory.setRepository(yourTempDirectory);
35
36 //Create a new file upload handler
37 ServletFileUpload upload = new ServletFileUpload(factory);
38 // Set overall request size constraint
39 // upload.setSizeMax(yourMaxRequestSize);
40
41 // Parse the request
42 // FileItemIterator iter = upload.getItemIterator(request);
43 // while (iter.hasNext()) {
44 // FileItemStream item = iter.next();
45 // String name = item.getFieldName();
46 // InputStream stream = item.openStream();
47 // if (item.isFormField()) {
48 // System.out.println("Form field " + name + " with value "
49 // + Streams.asString(stream) + " detected.");
50 // } else {
51 // System.out.println("File field " + name + " with file name "
52 // + item.getName() + " detected.");
53 // // Process the input stream
54 //
55 // }
56 // }
57
58 //Parse the request
59 List<FileItem> items=null;
60 try {
61 items = upload.parseRequest(request);
62 } catch (FileUploadException e) {
63 e.printStackTrace();
64 }
65 // Process the uploaded items
66 Iterator iter = items.iterator();
67 while (iter.hasNext()) {
68 FileItem item = (FileItem) iter.next();
69 if (item.isFormField()) {
70 //processFormField(item);
71 String name = item.getFieldName();
72 String value = item.getString();
73 } else {
74 //processUploadedFile(item);
75 String fieldName = item.getFieldName();
76 String fileName = item.getName();
77 String contentType = item.getContentType();
78 boolean isInMemory = item.isInMemory();
79 long sizeInBytes = item.getSize();
80
81 // Process a file upload
82 // if (writeToFile) {
83 // File uploadedFile = new File();
84 // item.write(uploadedFile);
85 // } else {
86 // InputStream uploadedStream = item.getInputStream();
87 //
88 // uploadedStream.close();
89 // }
90 // Process a file upload in memory
91 byte[] data = item.get();
92
93 }
94 }
95 }
96 }
97