【问题标题】:Is there a way to display the size of a file without downloading it?有没有办法在不下载的情况下显示文件的大小?
【发布时间】:2019-10-01 20:52:18
【问题描述】:

我似乎找不到在终端模拟器中以 JavaScript 显示文件大小的方法。 (我对 JavaScript 很陌生)

我试过这些:

https://bitexperts.com/Question/Detail/3316/determine-file-size-in-javascript-without-downloading-a-file

Ajax - Get size of file before downloading

我的预期结果是获得字节大小,但没有任何反应。 我在学校的笔记本电脑上无法显示任何错误消息(如果有的话),他们阻止了 Inspect Element。

输出需要显示在“终端”本身,并且必须是严格的 JavaScript。

谢谢!

编辑 1:

These are the "terminal" files 比基于作为整个源的 sn-ps 制作文件更容易。这些命令位于js/terminal.html。我们需要关注的主要区域是Line 144

我会将其发布在 sn-ps 中,但我会将这个问题的大小放大 20 倍。它基于Andrew Barfield's HTML5 Terminal

【问题讨论】:

  • 此文件是否保存在服务器上?如果是这样,那么您将需要编写一些服务器端逻辑来检索文件大小并将其返回给您的 JS。
  • 如果服务器实现了developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD,你可以使用它。您需要更好地解释您尝试了什么以及什么都没发生意味着什么。
  • 他们是否完全屏蔽了 F12 键?如果不是,网络选项卡将显示 AJAX 请求和响应。
  • 尝试在没有开发工具的情况下学习 Web 编码真的会减慢你的速度。当你可以测试你的代码时,你最好回到它

标签: javascript jquery


【解决方案1】:

如果服务器支持 HEAD,你可以使用它

在 stackoverflow 的控制台中运行以下代码,您将看到其主页的 HTML 大小,而无需下载整个页面。

fetch('/', {method: 'HEAD'}).then((result) => {
   console.log(result.headers.get("content-length"))
})

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD

HTTP HEAD 方法请求使用 HTTP GET 方法请求指定资源时返回的标头。

【讨论】:

  • 我需要能够找到文件的大小,即使它不在服务器上。例如,假设我需要在example.com/foo.exe 检查 foo.exe 的大小,我需要一个脚本来找到它。另外,它必须是严格的 javascript
  • @热心什么?如果服务器上不存在该文件,您可以从服务器获取文件大小。对不起,我可能误解了一些东西
  • @motiveicGeek ` 需要能够找到文件的大小,即使它不在服务器上。` 没有意义。 任何人怎么会知道一个不存在的文件的大小。
  • 我的意思是不在网站托管的服务器上。例如,example.com/foo.exe
  • @pathyGeek 如果您尝试访问的服务器不支持 CORS,则不会。你可以使用 curl 来做到这一点。从浏览器内部,只有在 CORS 允许的情况下,您才能访问其他服务器
猜你喜欢
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-17
  • 2013-10-24
  • 2019-12-30
相关资源
最近更新 更多