Struts 2 FileUploadInterceptor触发太晚,无法验证文件大小和文件扩展名

时间:2013-08-28 15:19:38

标签: java file-upload struts2 multipartform-data struts2-interceptors

我似乎无法弄清楚如何在Struts2中正确使用FileUploadInterceptor。我有一切都有线,它确实有效。我可以指定文件扩展名和最大文件大小,它确实有效。问题如下:

  1. 我指定最大文件大小为100mb
  2. 当用户上传文件110mb时,我可以看到JakartaMultiPartRequest类使用帮助公共file-upload库处理文件上传。这发生在文件上传拦截器之前。
  3. 一旦用户等待几分钟并完成文件上传,文件上传拦截器就会触发并告诉用户该文件太大。
  4. 事件序列有问题。我想查看内容长度标题,并立即告诉用户该文件太大(上传前)。我知道标题并不总是存在,但如果它存在,我想使用它。

    除了覆盖JakartaMultiPartRequest课程外,我不明白该怎么做。

    编辑:这是我理解的顺序:

    1. 用户通过文件上传向服务器发送多部分请求。
    2. Struts2中的JakartaMultiPartRequest解析请求并将其上传到Struts2临时文件夹。
    3. 流程终于到达文件上传拦截器,其中检查了最大文件大小和文件扩展名。
    4. 从上面可以看出,上传发生在第2步。整个文件现在都在服务器上,并且只有在文件上传拦截器检测到它太大之后才会出现。

0 个答案:

没有答案