2

我正在使用 Chrome Extension 上的 XMLHttp Request 将图像文件上传到 TWITPIC。我需要将图像作为有效负载发送。有没有办法做到这一点 ?我发现这个链接Convert an image into binary data in javascript 但这适用于图像标签。我需要一种方法来指定图像文件路径并将图像上传到 TWITPIC。

我开始了解带有 HTML 5 的 FileReader API。有什么方法可以使用它吗?它应该适用于本地文件。

Chrome 扩展是否支持 FileReader API 而无需运行本地主机服务器?

4

2 回答 2

3

我自己找到了答案。Chrome 扩展确实支持 HTML 5 的 FileReader API。所以下面的代码很简单。

  var reader = new FileReader();
  reader.readAsDataURL(f);
于 2011-05-12T14:44:29.130 回答
-1

您可以使用它来使用 XMLHTTPRequests 获取图像的二进制数据,我最近将它用于类似目的:

var dataToBinary = function(data){
    var data_string = "";
    for(var i=0; i<data.length; i++){
        data_string += String.fromCharCode(data[i].charCodeAt(0) & 0xff);
    }
    return data_string;
};

$.ajax("http://some.site.com/myImage.jpg", {
    success: function(data){
        binary = dataToBinary(data);
        //or: 'binary = data', dataToBinary might not be needed
    },
    mimeType: "text/plain; charset=x-user-defined"
});

并且二进制数据存储在binary变量中。

于 2011-05-12T14:17:50.797 回答