一尘不染

您如何在不传输整个文件的情况下限制使用JavaScript(或Java)上传的文件的大小?

jsp

有没有一种方法可以在客户端浏览器上验证从JSP页面上载的文件的大小是否超出了设置的大小限制,而又不强迫用户仅发现整个文件太大就上传了整个文件?

我想尽可能避免使用任何专有控件或技术,例如Flash或ActiveX。

谢谢!


阅读 196

收藏
2020-06-08

共1个答案

一尘不染

这不是一个完美的解决方案,但是如果您使用Content-Length HTTP标头检查,request.getHeader("Content- Length")则可以选择不传输整个文件。

通过说明的方式,不会一次传输一个非常大的文件。您实际上必须打开一个流,该流表示那部分POST数据,并从中读取要传输的所有内容。

另一方面,如果您担心拒绝服务攻击,那么您就不能真正信任Content-
Length标头,因为它很容易伪造。在这种情况下,您应该设置一个限制并传输此文件的传输,一旦超过该限制就立即停止。

2020-06-08