微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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请求,因此我不担心这种模糊的不兼容性声明.更值得关注的是您的服务器如何响应.

原文地址:https://www.jb51.cc/js/152185.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐