【问题标题】:How to download/read only the first 80KB of a file?如何仅下载/读取文件的前 80KB?
【发布时间】:2012-06-16 02:12:31
【问题描述】:

我正在为一个包含许多 Flash 文件的网站制作 Greasemonkey 脚本。我想对闪存进行哈希处理,问题是闪存文件高达 10 兆字节。

这很慢;我希望能够只抓取前 80KB 进行散列。最终结果将是一种将某些包含不需要内容的 Flash 文件列入黑名单的简单方法。 我的脚本如何只抓取文件的前 80 KB(左右)?

【问题讨论】:

  • 如果您只准备了 80k 的文件,您打算如何将文件列入黑名单?
  • @mkoryak 好吧,也许我应该使用比前 80KB 多一点的空间,但我只是在合理的范围内寻找独特的。我自己没有测试过,但我怀疑由于编译闪存的性质,它对于我的需要是合理的。

标签: javascript jquery ajax download greasemonkey


【解决方案1】:

在您的 AJAX 请求中发送 the range header

例如:

$.ajax ( {
    url:        'http://TARGET_SERVER.COM/TARGET_PATH/TARGET_FILE.FLV',
    headers:    { Range: "bytes=0-80000" },
    success:    function (Resp) {
                    console.log(Resp);
                }
} );

(对于与目标页面位于同一域的文件。)



对于跨域文件使用GM_xmlhttpRequest()

GM_xmlhttpRequest ( {
    method:     "GET",
    url:        'http://TARGET_SERVER.COM/TARGET_PATH/TARGET_FILE.FLV',
    headers:    { Range: "bytes=0-80000" },
    onload:     function (Resp) {
                    console.log(Resp.responseText);
                }
} );

【讨论】:

  • +1 对于我自己没有使用过的两种方法,但这会派上用场。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多