[英]Prevent uploading large files on Opera Mini
我遇到了一个非常有趣的问题。 我们已经从Apache切换到Nginx,并且我们具有文件上传功能,这在Nginx中存在问题。 如果要上传的文件太大,则会显示错误消息:
413请求实体太大
nginx / 1.4.6(Ubuntu)
这是由于我们对文件大小有限制,我们不接受服务器上大于2 MB的文件。 但是,这不是用户友好的错误,因此我们希望隐藏技术细节并以用户友好的方式通知用户。 我实现了一项功能,该功能适用于Opera Mini以外的所有浏览器。 我将从中删除一些细节,因为它们与问题无关:
if (isOperaMini()) {
$("#opera-mini-photo-form").submit(function(e) {
if (document.getElementById("opera-input").files[0].size >= 1048576) {
e.preventDefault();
alert"Invalid or too large file");
}
});
} else {
//some code for other browsers
}
如果浏览器是Opera Mini,则submit
事件中的if始终为false
并且始终提交form
。 我已经检查了在其他浏览器中为Opera Mini编写的代码,以查看是否实现了某些错误。 在其他浏览器中也可以。 我试图在Opera Mini中警告以下值:
document.getElementById("opera-input").files[0].size
alert
未发生。 现在,如果考虑到Opera Mini使用Opera代理浏览Web的事实,我想知道Javascript是否实际上在代理服务器上运行。 如果是这样,它将解释为什么我无法检查文件大小。 如果不是,那么我不知道是什么原因引起的。 我应该用什么代替
document.getElementById("opera-input").files[0].size
检查文件的大小?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.