基本上,我想知道是否应该使用
AJAX下载文件,这取决于文件大小的大小.
我猜这个问题也可以改写为:如何只得到一个ajax请求的标题?
编辑:ultima-rat0在评论中告诉我已经被问到的两个问题显然与这个一样.他们非常相似,但他们都想要jQuery.我想要一个非jQuery解决方案.
解决方法
您可以手动获取XHR响应头数据:
http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
function get_filesize(url,callback) { var xhr = new XMLHttpRequest(); xhr.open("HEAD",url,true); // Notice "HEAD" instead of "GET",// to get only the header xhr.onreadystatechange = function() { if (this.readyState == this.DONE) { callback(parseInt(xhr.getResponseHeader("Content-Length"))); } }; xhr.send(); } get_filesize("http://example.com/foo.exe",function(size) { alert("The size of foo.exe is: " + size + " bytes."); });