【发布时间】:2010-12-01 20:12:33
【问题描述】:
这是我希望做的:
我想向一个文件发送一个 ajax 请求(最好使用 jQuery),一旦文件被加载,确定所请求文件的大小。
经过一番谷歌搜索,很明显,我什至不知道要问的正确问题来解决这个问题。任何帮助将不胜感激。
【问题讨论】:
这是我希望做的:
我想向一个文件发送一个 ajax 请求(最好使用 jQuery),一旦文件被加载,确定所请求文件的大小。
经过一番谷歌搜索,很明显,我什至不知道要问的正确问题来解决这个问题。任何帮助将不胜感激。
【问题讨论】:
您可以创建一个服务器端命令,该命令获取文件的路径和名称,打开文件以获取长度,并将大小发送回客户端。你如何做取决于你使用的服务器端语言。这是您要寻找的操作类型吗?
【讨论】:
您可以发出 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 请求并查询 Content-Length,它返回 X 个字节。
【讨论】: