传递参数以及多部分/表单数据上载表单(Java Http Post上载)
我有一个代码库,当前使用Post上传文件,并具有enctype作为multipart / form-
data。现在,我需要包括一些表单项,即一些参数也将随文件上传一起传递。我已经创建了html表单,但是我不能使用request.getParameter,因为它是一个多部分表单。谁能建议我如何将参数与上传文件一起传递。我提供以下代码。请根据我的代码的兼容性建议我如何解决
if (!ServletFileUpload.isMultipartContent(request)) { throw new CustomUploadException("Not a file upload request");
}
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext())
{
FileItemStream item = iter.next();
if (item.isFormField() == false &&
item.getFieldName().equalsIgnoreCase("xmlfile"))
{
String fileName = item.getName();
myBean.setFileName(fileName );
}
}
回答:
如果isFormField
on FileItemStream
返回true,则为正常字段。您可以使用openStream
内容并将其读入字符串。
像这样:
FileItemStream item = iter.next();if(item.isFormField()) {
// Normal field
String name = item.getFieldName();
String value = Streams.asString(item.openStream());
} else {
// File
}
Streams.asString
采用第二个参数,即要使用的字符集编码,您可能需要指定一个适合您的站点的参数。
以上是 传递参数以及多部分/表单数据上载表单(Java Http Post上载) 的全部内容, 来源链接: utcz.com/qa/403665.html