2010-07-13 46 views
0

我有一个需求,在该需求中,我需要处理少量数据以生成Id字段,同时我需要上传几个需要在按下时完成的图像。我的意思是说,数据和图像必须同时处理(图像上传到文件服务器和数据保存在数据库中)。我使用Apache公共上传文件,并在我有将表单类型设置为multipart。问题是我有几个参数设置在请求本身中,当在servlet中提取时返回null。请提供一些指针,以了解如何在servlet中请求中提取这些参数集。请帮助我..当表单类型为多部分时,提取httprequest的参数

+0

我需要的数据和图像在同一时间 – Sam 2010-07-13 14:23:25

+0

上传请张贴一些代码 – 2010-07-13 14:28:28

+0

我不能够提取在请求中设置的参数,如 字符串名称=的request.getParameter(“名称”);例如返回null – Sam 2010-07-13 14:34:26

回答

0

像这样的东西可以帮助您提取内容:

DiskFileItemFactory factory = new DiskFileItemFactory(); 
ServletFileUpload fileUpload = new ServletFileUpload(factory); 
List<FileItem> fileUploadItems = fileUpload.parseRequest((HttpServletRequest) request); 
for (FileItem fileItem : fileUploadItems) { 
    String fieldName = fileItem.getFieldName(); 
    String contentType = fileItem.getContentType(); 
    long size = fileItem.getSize(); 
    if (size < 1) { 
     throw new FileUploadException("The submitted file must not be null!"); 
    } 
    boolean equalFieldName = fieldName.equals(SOME_FIELD_NAME); 
    if (!equalFieldName) { 
     // do something 
    } 
    boolean equalContentType = contentType.equals(SOME_CONTENT); 
    if (!equalContentType) { 
     // do something 
    } 
    if (equalFieldName && equalContentType) { 
     stream = fileItem.getInputStream(); 
     break; 
    } 

}