【问题标题】:Read part of remote file [duplicate]读取远程文件的一部分[重复]
【发布时间】:2016-04-05 07:06:21
【问题描述】:

有一个远程文件,我们想使用 Ajax 读取其中的一部分。 没有像 PHP 这样的服务器端技术,我们如何只使用 JS 来做到这一点?

我认为我需要使用 HTTP Range 标头,但是如何使用 Ajax 进行设置?是否可以在 Ajax 中设置 HTTP 标头?

【问题讨论】:

标签: javascript ajax


【解决方案1】:

您可以通过setRequestHeader 为 XML 请求设置标头,例如如果xhrXMLHttpRequest 实例:

xhr.setRequestHeader('HeaderName', 'HeaderValue');

我刚刚对其进行了测试,这给了我请求的文件的前 56 个字符:

var xhr = new XMLHttpRequest();
xhr.open("get", "thefile");
xhr.setRequestHeader("Range", "bytes=0-100");
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        $("<p>").text("status = " + xhr.status + ", length = " + xhr.responseText.length + ", text = " + xhr.responseText).appendTo(document.body);
    }
};
xhr.send();

请注意,状态返回为 206(部分内容),而不是 200。

为什么是 56 个字符?在我的测试中可能是字节与字符的关系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2015-05-17
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多