这是我希望做的:
我想向一个文件(最好使用 jQuery)发送一个 ajax 请求,一旦文件被加载,确定请求文件的大小。
经过一番谷歌搜索,很明显,我什至不知道要问这个问题的正确问题。任何帮助将不胜感激。
您可以发出 HTTP HEAD请求,并通过读取Content-Length HTTP 标头来获取文件大小的近似值。
这种请求用于获取有关请求所隐含的 URL 的元信息,而不在响应中传输它的任何内容。
var xhr = $.ajax({
type: "HEAD",
url: "path/to/file.ext",
success: function(msg){
alert(xhr.getResponseHeader('Content-Length') + ' bytes');
}
});
您可以创建一个服务器端命令,该命令获取文件的路径和名称,打开文件以获取长度,并将大小发送回客户端。你如何做取决于你使用的服务器端语言。那是您正在寻找的行动类型吗?
var XHRObj = $.ajax({
type:'HEAD',
url:'/',
success:function(data) {
console.log( XHRObj.getResponseHeader('Content-Length') )
}
})
您基本上执行 HEAD HTTP 请求并查询返回 X 字节的 Content-Length。