Javascript检查文件大小

前端之家收集整理的这篇文章主要介绍了Javascript检查文件大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果Web服务器上文件文件大小(例如 http://www.mysite.com/myfile.js)大于0字节,是否可以继续使用javascript进行检查?如果是,则返回true或false值?

提前致谢!

解决方法

从理论上讲,您可以使用XHR发出HTTP HEAD请求并检查响应头中的Content-Length.

HEAD请求与常规GET请求相同,但服务器不得返回实际内容.换句话说,服务器会回复您尝试获取资源时的标头,但随后停止并且不发送文件.

但是,无论文件的实际大小如何,some severs respond到Content-Length标头为0的HEAD请求.其他人回应文件的大小.

为了实现这一点,您必须祈祷您的服务器将文件的实际大小返回给HEAD请求.

如果是,getting that value is easy

$.ajax('/myfile.js',{
    type: 'HEAD',success: function(d,r,xhr) {
       fileSize = xhr.getResponseHeader('Content-Length');
    }
});

请注意,当我们HEAD /时,JSFiddle的服务器总是返回0,即使/是16916字节.

还要注意关于HTTP请求类型选项的jQuery的docs say

The type of request to make (“POST” or “GET”),default is “GET”. Note: Other HTTP request methods,such as PUT and DELETE,can also be used here,but they are not supported by all browsers.

我刚刚在IE 6-10,Firefox 3.6-7,Opera 9-11和Chrome中测试了这个小提琴,并且每个浏览器都正确发出了HEAD请求,因此我不担心这种模糊的不兼容性声明.更值得关注的是您的服务器如何响应.

猜你在找的JavaScript相关文章