我已阅读并通过commons-fileupload api跟踪示例文件上传。它在我发布文件时有效,但是当我包含像input type =“text”这样的普通字段时,字段名称的值似乎为null。在本例中,字段名称为电子邮件。这是我正在使用的代码。希望经验丰富的开发人员的眼睛可以向我指出我做错了什么。谢谢你,祝你有个幸福的一天!
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()
答案 0 :(得分:0)
尝试使用此代码(此代码适用于我)
private Map<String, String[]> parameterMap = new HashMap<String, String[]>();
for(FileItem item: items){
if (!item.isFormField()) {
...
} else{
String field = item.getFieldName();
String content = item.getString();
parameterMap.put(field,new String[]{content});
}
}
然后你可以打印parameterMap的所有内容, 我认为您的表单字段的名称不是“email”