gpt4 book ai didi

java - 传递参数以及多部分/表单数据上传表单(Java Http Post Upload)

转载 作者:行者123 更新时间:2023-11-30 07:32:33 24 4
gpt4 key购买 nike

我有一个代码库,目前使用 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 );
}

}

最佳答案

如果 FileItemStream 上的 isFormField 返回 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 - 传递参数以及多部分/表单数据上传表单(Java Http Post Upload),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com