获取通过ajax请求的文件大小

这是我希望做的事情:

我想向文件发送ajax请求(最好使用jQuery),一旦加载了文件,就确定所请求文件的大小。

经过一番谷歌搜索后,很明显我甚至不知道正确的问题要求弄清楚这一点。 任何帮助将不胜感激。

您可以发出HTTP HEAD请求,并通过读取Content-Length HTTP Header获取文件大小近似值。

这种请求用于获取有关请求所暗示的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个字节。