我正在处理多个文件上传。上传多个文件时遇到奇怪的问题。
案例:当我选择多个文件时,如果其中一个文件大小比未提交给servlet的文件大。我正在选择下面的文件(图片)。我使用断点并一步一步地发现servlet中error.txt
的大小为0Bytes
。如果我通过选择正确上传它来上传它。
与其他文件有相同的问题,当它的大,它不是特定于error.txt。我刚刚给你这个案子
仅供参考:我正在使用gwtupload
插件进行多次上传。以下是项目的链接:https://code.google.com/p/gwtupload
更新
@Manolo为什么在servlet中使用cont
变量?
int cont = 0;
for (FileItem item : sessionFiles) {
if (false == item.isFormField()) {
cont ++;
答案 0 :(得分:0)
经过大量的尝试,我找到了解决方案,所以让我告诉你我在代码中犯了哪些错误。
for (FileItem item : sessionFiles) {
if (false == item.isFormField()) {
try {
/// Create a temporary file placed in the default system temp folder
File file = File.createTempFile("upload-", ".bin");
item.write(file);
/// Save a list with the received files
receivedFiles.put(item.getFieldName(), file);
receivedContentTypes.put(item.getFieldName(), item.getContentType());
/// Send a customized message to the client.
response += "File saved as " + file.getAbsolutePath();
// Below line is creating the problem.
removeItem(request, item.getFieldName());
} catch (Exception e) {
throw new UploadActionException(e);
}
}
}
我正在处理后使用removeItem(request, item.getFieldName());
删除每个文件。不知何故,它删除了error.txt
文件。我不知道为什么。但删除该行后。它对我有用。