使用Apache commons文件上载设置要上载的默认文件

时间:2014-04-04 05:28:58

标签: java file-upload default apache-commons-fileupload

我正在使用apache commons file upload 1.1。目前我使用parseRequest(request)来解析请求中的项目。

现在我还有一个上传文件的请求。如果用户没有上传任何内容,请填写default文件。

这可能吗?

提前致谢

1 个答案:

答案 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
}