ServletFileUpload.parseRequest()只能在每个请求中调用一次吗?

aha*_*son 6 grails file-upload apache-commons

我正在为我的Grails应用程序工作一个自定义的SpringSecurityFilter,我正在尝试使用commons上传库来处理请求.我能够在过滤器中处理请求,但一旦它到达我的控制器,没有任何值可用.

HttpRequest只能由上传库处理一次吗?我猜它正在清理临时文件.有没有办法保持它们可以在控制器级别再次处理它们?

我需要查询安全性的表单参数(由于客户端我无法将其添加到http标头)但是一旦我得到该值,它似乎擦除了进一步处理的请求.

Cod*_*ody 5

是。一个请求只能被解析一次。

我在FileUpload的Apache FAQ页面上看到了这个答案。

问题:为什么parseRequest()不返回任何项目?

答案:“最常见的情况是在请求已被解析或以其他方式处理后发生。由于输入流已被较早的进程占用,因此Commons FileUpload将不再可用于解析。”

参考:http : //commons.apache.org/fileupload/faq.html