有没有一种方法可以在客户端浏览器上验证从JSP页面上载的文件的大小是否超出了设置的大小限制,而又不强迫用户仅发现整个文件太大就上传了整个文件?
我想尽可能避免使用任何专有控件或技术,例如Flash或ActiveX。
谢谢!
这不是一个完美的解决方案,但是如果您使用Content-Length HTTP标头检查,request.getHeader("Content- Length")则可以选择不传输整个文件。
request.getHeader("Content- Length")
通过说明的方式,不会一次传输一个非常大的文件。您实际上必须打开一个流,该流表示那部分POST数据,并从中读取要传输的所有内容。
另一方面,如果您担心拒绝服务攻击,那么您就不能真正信任Content- Length标头,因为它很容易伪造。在这种情况下,您应该设置一个限制并传输此文件的传输,一旦超过该限制就立即停止。