Changeset 6785dcb675da16292270d5924f3de13a142e7dd9
- Timestamp:
- 11/26/06 12:18:55
(2 years ago)
- Author:
- Christopher Jung <bktheg@web.de>
- git-committer:
- Christopher Jung <bktheg@web.de> 1164539935 +0100
- git-parent:
[fc23677a93852d6b881f0c5a66e563e4fd7408a3]
- git-author:
- Christopher Jung <bktheg@web.de> 1164539935 +0100
- Message:
Support fuer Multipart-Requests eingebaut
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r4f0c647 |
r6785dcb |
|
| 21 | 21 | import java.io.IOException; |
|---|
| 22 | 22 | import java.io.InputStream; |
|---|
| | 23 | import java.util.ArrayList; |
|---|
| 23 | 24 | import java.util.HashMap; |
|---|
| | 25 | import java.util.List; |
|---|
| 24 | 26 | import java.util.Map; |
|---|
| | 27 | |
|---|
| | 28 | import org.apache.commons.fileupload.FileItem; |
|---|
| 25 | 29 | |
|---|
| 26 | 30 | import net.driftingsouls.ds2.server.framework.pipeline.Request; |
|---|
| … | … | |
| 116 | 120 | } |
|---|
| 117 | 121 | |
|---|
| | 122 | public List<FileItem> getUploadedFiles() { |
|---|
| | 123 | return new ArrayList<FileItem>(); |
|---|
| | 124 | } |
|---|
| | 125 | |
|---|
| 118 | 126 | } |
|---|
| rae09dfe |
r6785dcb |
|
| 21 | 21 | import java.io.IOException; |
|---|
| 22 | 22 | import java.io.InputStream; |
|---|
| | 23 | import java.util.ArrayList; |
|---|
| 23 | 24 | import java.util.HashMap; |
|---|
| | 25 | import java.util.List; |
|---|
| 24 | 26 | import java.util.Map; |
|---|
| 25 | 27 | |
|---|
| 26 | 28 | import javax.servlet.http.HttpServletRequest; |
|---|
| | 29 | |
|---|
| | 30 | import net.driftingsouls.ds2.server.framework.Loggable; |
|---|
| | 31 | |
|---|
| | 32 | import org.apache.commons.fileupload.FileItem; |
|---|
| | 33 | import org.apache.commons.fileupload.FileItemFactory; |
|---|
| | 34 | import org.apache.commons.fileupload.FileUploadBase; |
|---|
| | 35 | import org.apache.commons.fileupload.FileUploadException; |
|---|
| | 36 | import org.apache.commons.fileupload.disk.DiskFileItemFactory; |
|---|
| | 37 | import org.apache.commons.fileupload.servlet.ServletFileUpload; |
|---|
| | 38 | import org.apache.commons.fileupload.servlet.ServletRequestContext; |
|---|
| 27 | 39 | |
|---|
| 28 | 40 | /** |
|---|
| … | … | |
| 31 | 43 | * |
|---|
| 32 | 44 | */ |
|---|
| 33 | | public class HttpRequest implements Request { |
|---|
| | 45 | public class HttpRequest implements Request,Loggable { |
|---|
| 34 | 46 | private HttpServletRequest request = null; |
|---|
| 35 | 47 | private Map<String,String> parameters = new HashMap<String,String>(); |
|---|
| | 48 | private boolean isMultipart = false; |
|---|
| | 49 | private ServletRequestContext context = null; |
|---|
| | 50 | private List uploadedFiles = null; |
|---|
| 36 | 51 | |
|---|
| 37 | 52 | public HttpRequest(HttpServletRequest request) { |
|---|
| 38 | 53 | this.request = request; |
|---|
| | 54 | |
|---|
| | 55 | context = new ServletRequestContext(request); |
|---|
| | 56 | isMultipart = FileUploadBase.isMultipartContent(context); |
|---|
| | 57 | if( isMultipart ) { |
|---|
| | 58 | FileItemFactory factory = new DiskFileItemFactory(); |
|---|
| | 59 | ServletFileUpload upload = new ServletFileUpload(factory); |
|---|
| | 60 | |
|---|
| | 61 | try { |
|---|
| | 62 | uploadedFiles = upload.parseRequest(context); |
|---|
| | 63 | for( int i=0; i < uploadedFiles.size(); i++ ) { |
|---|
| | 64 | FileItem item = (FileItem)uploadedFiles.get(i); |
|---|
| | 65 | if( !item.isFormField() ) { |
|---|
| | 66 | continue; |
|---|
| | 67 | } |
|---|
| | 68 | parameters.put(item.getFieldName(), item.getString()); |
|---|
| | 69 | } |
|---|
| | 70 | } |
|---|
| | 71 | catch( FileUploadException e ) { |
|---|
| | 72 | LOG.error(e); |
|---|
| | 73 | } |
|---|
| | 74 | } |
|---|
| 39 | 75 | } |
|---|
| 40 | 76 | |
|---|
| … | … | |
| 110 | 146 | return str; |
|---|
| 111 | 147 | } |
|---|
| | 148 | |
|---|
| | 149 | public List<FileItem> getUploadedFiles() { |
|---|
| | 150 | if( !isMultipart ) { |
|---|
| | 151 | return new ArrayList<FileItem>(); |
|---|
| | 152 | } |
|---|
| | 153 | |
|---|
| | 154 | List<FileItem> result = new ArrayList<FileItem>(); |
|---|
| | 155 | List items = uploadedFiles; |
|---|
| | 156 | for( int i=0; i < items.size(); i++ ) { |
|---|
| | 157 | if( items.get(i) instanceof FileItem ) { |
|---|
| | 158 | FileItem item = (FileItem)items.get(i); |
|---|
| | 159 | if( item.isFormField() ) { |
|---|
| | 160 | continue; |
|---|
| | 161 | } |
|---|
| | 162 | result.add((FileItem)items.get(i)); |
|---|
| | 163 | } |
|---|
| | 164 | } |
|---|
| | 165 | |
|---|
| | 166 | return result; |
|---|
| | 167 | } |
|---|
| 112 | 168 | } |
|---|
| rae09dfe |
r6785dcb |
|
| 21 | 21 | import java.io.IOException; |
|---|
| 22 | 22 | import java.io.InputStream; |
|---|
| | 23 | import java.util.List; |
|---|
| | 24 | |
|---|
| | 25 | import org.apache.commons.fileupload.FileItem; |
|---|
| 23 | 26 | |
|---|
| 24 | 27 | /** |
|---|
| … | … | |
| 42 | 45 | public String getRequestURL(); |
|---|
| 43 | 46 | public String getUserAgent(); |
|---|
| | 47 | public List<FileItem> getUploadedFiles(); |
|---|
| 44 | 48 | } |
|---|