Javascript 如何检查IE8 html4中的文件大小
我使用FileReader检查输入文件的大小 但是我可爱的客户想要IE8,所以我需要一种方法来检查这里的文件大小 IE8不支持FileReader和其他东西 这就是我为html5所做的 输入Javascript 如何检查IE8 html4中的文件大小,javascript,jquery,css,internet-explorer-8,Javascript,Jquery,Css,Internet Explorer 8,我使用FileReader检查输入文件的大小 但是我可爱的客户想要IE8,所以我需要一种方法来检查这里的文件大小 IE8不支持FileReader和其他东西 这就是我为html5所做的 输入 html4和IE8有什么好的解决方案吗???我知道我来晚了,但我可以回答这个问题 这里有三个选项: 根据用户浏览器,使用ActiveX检查文件大小 设置,这可能不起作用,或者可能会提示他们允许 要运行的ActiveX对象 检查服务器端的文件大小,然后 如果文件太大,请处理它 限制请求大小,以便在文件太大时发
html4和IE8有什么好的解决方案吗???我知道我来晚了,但我可以回答这个问题 这里有三个选项: 根据用户浏览器,使用ActiveX检查文件大小 设置,这可能不起作用,或者可能会提示他们允许 要运行的ActiveX对象 检查服务器端的文件大小,然后 如果文件太大,请处理它 限制请求大小,以便在文件太大时发生错误。您将再次需要处理此错误 解决方案1这将处理兼容HTML5的浏览器和旧浏览器:
// Get the file size
var size;
var maxSize = 200;
if (window.FileReader && window.File && window.FileList && window.Blob) {
// HTML5 File API Supported
size = $('#user_profile_photo')[0].files[0].size;
}
else {
// Need to use ActiveX to read the file size
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = $('#user_profile_photo').val();
var thefile = myFSO.getFile(filepath);
size = thefile.size;
}
if (size > (maxSize * 1024)) {
alert('The selected file is bigger than the maximum allowed file size.\r\n\r\nSelected file size: ' + Math.round((size / 1024) * 100) / 100 + 'KB\r\nMax allowed file size: ' + maxSize + 'KB');
return false;
}
解决方案2:这取决于您的服务器端代码语言是什么,但它只是围绕检查HttpPostedFileBase的大小或提供的字节数组的长度,然后返回页面并向用户显示消息
解决方案3-假设您使用的是asp.net,则将以下内容添加到web.config:
<system.web>
<httpRuntime maxRequestLength="10240" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="10485760" />
</requestFiltering>
</security>
</system.webServer>
然后,您将需要进行一些错误处理以再次发现此错误,这取决于您的服务器端技术,它可能会有所不同
希望这对某人有所帮助。我想3年后,OP不会还在这上面 我知道我来晚了,但我能回答这个问题 这里有三个选项: 根据用户浏览器,使用ActiveX检查文件大小 设置,这可能不起作用,或者可能会提示他们允许 要运行的ActiveX对象 检查服务器端的文件大小,然后 如果文件太大,请处理它 限制请求大小,以便在文件太大时发生错误。您将再次需要处理此错误 解决方案1这将处理兼容HTML5的浏览器和旧浏览器:
// Get the file size
var size;
var maxSize = 200;
if (window.FileReader && window.File && window.FileList && window.Blob) {
// HTML5 File API Supported
size = $('#user_profile_photo')[0].files[0].size;
}
else {
// Need to use ActiveX to read the file size
var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = $('#user_profile_photo').val();
var thefile = myFSO.getFile(filepath);
size = thefile.size;
}
if (size > (maxSize * 1024)) {
alert('The selected file is bigger than the maximum allowed file size.\r\n\r\nSelected file size: ' + Math.round((size / 1024) * 100) / 100 + 'KB\r\nMax allowed file size: ' + maxSize + 'KB');
return false;
}
解决方案2:这取决于您的服务器端代码语言是什么,但它只是围绕检查HttpPostedFileBase的大小或提供的字节数组的长度,然后返回页面并向用户显示消息
解决方案3-假设您使用的是asp.net,则将以下内容添加到web.config:
<system.web>
<httpRuntime maxRequestLength="10240" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="10485760" />
</requestFiltering>
</security>
</system.webServer>
然后,您将需要进行一些错误处理以再次发现此错误,这取决于您的服务器端技术,它可能会有所不同
希望这对某人有所帮助。我想3年后,OP不会还在这上面 在不将其发送到服务器的情况下,您只能使用在后台使用flash或silverlight的回退。正如您在标签中提到的jQuery,您可以检查一下,我还没有测试它,所以我不能保证它能正常工作。如果不将它发送到服务器,您只能使用在后台使用flash或silverlight的回退。当您在标签中提到jQuery时,您可以检查一下,我还没有测试过它,所以我不能保证它能正常工作。