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

发布于 2024-08-06 03:45:37 字数 129 浏览 4 评论 0原文

这就是我希望做的事情:

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

经过一番谷歌搜索后,很明显,我什至不知道要问什么问题才能解决这个问题。任何帮助将不胜感激。

Here's what I'm hoping to do:

I want to send an ajax request to a file (preferably with jQuery), and once the file has been loaded, determine the size of the requested file.

After a bit of googling, it's clear that I don't even have a good idea of the right question to ask to figure this out. Any help would be greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

叫思念不要吵 2024-08-13 03:45:37

您可以发出 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');
  }
});

You could make a HTTP HEAD request, and get a file size approximate by reading the Content-Length HTTP Header.

This kind of request is used to obtain meta-information about the URL implied by the request, without transferring any content of it in the response.

var xhr = $.ajax({
  type: "HEAD",
  url: "path/to/file.ext",
  success: function(msg){
    alert(xhr.getResponseHeader('Content-Length') + ' bytes');
  }
});
掐死时间 2024-08-13 03:45:37

您可以创建一个服务器端命令,该命令获取文件的路径和名称,打开文件以获取长度,然后将大小发送回客户端。如何操作取决于您使用的服务器端语言。这是您正在寻找的行动类型吗?

You could create a server-side command that takes the path and name of the file, opens the file to get the length, and sends the size back to the client. How you do it would depend on what server-side language you're using. Is that the type of action you're looking for?

只想待在家 2024-08-13 03:45:37
var XHRObj = $.ajax({
    type:'HEAD',
    url:'/',
    success:function(data) {
        console.log( XHRObj.getResponseHeader('Content-Length') )
    }
})

您基本上会执行 HEAD HTTP 请求并查询 Content-Length,这会返回 X 字节。

var XHRObj = $.ajax({
    type:'HEAD',
    url:'/',
    success:function(data) {
        console.log( XHRObj.getResponseHeader('Content-Length') )
    }
})

You basically do a HEAD HTTP request and query the Content-Length, which returns X bytes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文