【发布时间】:2013-10-30 02:32:44
【问题描述】:
我已阅读并遵循通过 commons-fileupload api 上传的示例文件。它在我发布文件时有效,但是当我包含像 input type="text" 这样的普通字段时,字段名称的值似乎为空。在这种情况下,字段名称为电子邮件。这是我正在使用的代码。希望那里有经验的开发人员可以向我指出我做错了什么。谢谢你,祝你有美好的一天!
servlet 类中的代码
try {
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
if(item.getFieldName().equals("email")) {
payLoad.append("&email=" + item.getString());
}
else {
encodedBase64 = new String(Base64.encodeBase64(item.get()));
payLoad.append("&content=" + encodedBase64);
}
}
payLoad = payLoad.deleteCharAt(0); // payLoad = new StringBuffer()
【问题讨论】:
-
在
<form>中你使用的是enctype="multipart/form-data"吗?您需要确保表单具有该属性。 -
感谢您的回复。是的,我使用了 enctype="multipart/form-data"。我实际上意识到了我的问题。上面的代码有效。我的错误是在发布之前,我从 item.getFieldName() == "email" 更改为 item.getFieldName().equals("email")。
标签: java file-upload