我正在使用apache commons file upload 1.1
。目前我使用parseRequest(request)
来解析请求中的项目。
现在我还有一个上传文件的请求。如果用户没有上传任何内容,请填写default
文件。
这可能吗?
提前致谢
答案 0 :(得分:1)
parseRequest
会返回FileItem
的列表。因此,当列表为空时,没有上传文件。
因此,您只需要测试列表是否为空。以Using FileUpload
为例ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
if (items.isEmpty()) {
// process some default file
} else {
// process uploaded file
}
更新
根据Processing the uploaded items,您可以在请求中混合使用文件和常规表单字段。您可以遍历参数,在看到文件上载时设置标志,然后相应地采取行动
// Process the uploaded items
boolean fileUploaded = false;
Iterator<FileItem> iter = items.iterator();
while (iter.hasNext()) {
FileItem item = iter.next();
if (item.isFormField()) {
processFormField(item);
} else {
processUploadedFile(item);
fileUploaded = true;
}
}
if (!fileUploaded) {
// process some default file
}