来自url的Javascript readAsArrayBuffer

时间:2016-08-12 10:17:34

标签: javascript

是否可以从url读取二进制文件?

var url = 'http://example.com/image/abc.jpg';
var reader= new FileReader();

reader.addEventListener('load', function () {
    // whatever
});
reader.readAsArrayBuffer(url);

以上示例无效(网址不是对象)。

var file = new File([""], "url");

为空

2 个答案:

答案 0 :(得分:0)

您的案例中的URL是一个字符串对象。在这种情况下,您需要使用HTTP get。 HTTP GET request in JavaScript?并阅读回复。

答案 1 :(得分:0)

您必须使用HTTP GET来获取该文件。也许这就是你需要的?

function httpGetAsync(theUrl, callback) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            callback(xmlHttp.response);
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
    xmlHttp.send(null);
}

httpGetAsync("http://cdn.androidbeat.com/wp-content/uploads/2015/12/google-logo.jpg", res => console.log(res))