使用jQuery,在上传之前限制文件大小

在PHP上,他们有一种方法可以在上传后限制文件大小,但不能在上传前限制文件大小。我使用Malsup jQuery表单插件进行表单发布,它支持图像文件发布。


我想知道是否存在限制,可以设置可以通过该AJAX流将多少字节传递到服务器?这样可以让我检查文件大小,如果文件太大,则返回错误。


通过在客户端执行此操作,它可以阻止那些从Pentax拍摄10MB照片并尝试上传照片的新手。


慕容森
浏览 782回答 3
3回答

largeQ

我发现Apache2(您可能还希望检查Apache 1.5)可以通过在.htaccess文件中添加以下内容来限制此操作:LimitRequestBody 2097152这在文件上传时将其限制为2 MB(2 * 1024 * 1024)(如果我正确执行了字节数学运算)。请注意,执行此操作时,如果超出表单发布或获取请求的限制,则Apache错误日志将生成此条目:Requested content-length of 4000107 is larger than the configured limit of 2097152并且还将在网络浏览器中显示此消息:<h1>Request Entity Too Large</h1>因此,如果您使用诸如Malsup jQuery Form Plugin之类的东西进行AJAX表单发布,则可能会捕获H1响应,并显示错误结果。顺便说一句,返回的错误号是413。因此,您可以在.htaccess文件中使用伪指令,例如...Redirect 413 413.html...并提供更合理的错误结果。
打开App,查看更多内容
随时随地看视频慕课网APP