Servlet接收0字节的文件

时间:2013-10-08 13:12:40

标签: java gwt servlets gwtupload

我正在处理多个文件上传。上传多个文件时遇到奇怪的问题。

案例:当我选择多个文件时,如果其中一个文件大小比未提交给servlet的文件大。我正在选择下面的文件(图片)。我使用断点并一步一步地发现servlet中error.txt的大小为0Bytes。如果我通过选择正确上传它来上传它。

  

与其他文件有相同的问题,当它的大,它不是特定于error.txt。我刚刚给你这个案子

enter image description here

仅供参考:我正在使用gwtupload插件进行多次上传。以下是项目的链接:https://code.google.com/p/gwtupload


更新

@Manolo为什么在servlet中使用cont变量?

 int cont = 0;
 for (FileItem item : sessionFiles) {
    if (false == item.isFormField()) {
       cont ++;

1 个答案:

答案 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文件。我不知道为什么。但删除该行后。它对我有用。