如何下载/只读取文件的前80KB?

时间:2012-06-16 02:12:32

标签: javascript jquery ajax download greasemonkey

我正在为拥有许多Flash文件的网站制作Greasemonkey脚本。我想制作一个闪存的哈希,问题是闪存文件高达10兆字节。

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

1 个答案:

答案 0 :(得分:9)

在您的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);
                }
} );