传递参数以及多部分/表单数据上载表单(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 );

}

}

回答:

如果isFormFieldon 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

回到顶部