我正在Tomcat 6.0.26中运行一个Servlet。该Servlet通过HTTP POST从客户端接受文件上传。我希望能够从HttpServlet侧停止文件上传。我尝试了以下方法,但都没有成功:
- 关闭请求的输入流
- 发送错误代码HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE并刷新响应
- 在过滤器中进行1和2操作
我搜索了一下Google,但没有找到直接的答案。请提供解决方案。
谢谢。
我正在Tomcat 6.0.26中运行一个Servlet。该Servlet通过HTTP POST从客户端接受文件上传。我希望能够从HttpServlet侧停止文件上传。我尝试了以下方法,但都没有成功:
我搜索了一下Google,但没有找到直接的答案。请提供解决方案。
谢谢。
使用标准API是不可能实现的。如果这样做,您将违反某些协议标准/RFC。那么为什么要这样做呢?
相反,发送一个带有空HTTP正文的“Connection: close”响应(HTTP头)。
以下是一些疯狂的解决方法:您可以编写(或在其他地方找到)基于套接字的防火墙独立应用程序,该应用程序处理HTTP请求,解析标头,并且如果请求匹配某些自定义条件,则防火墙将其转发到Tomcat,否则返回HTTP错误响应。或者,您可以尝试使用一些Apache规则来调整Apache <-> Tomcat。