我正在使用Chrome扩展程序上的XMLHttp请求将图像文件上传到TWITPIC。我需要将图像作为有效载荷发送。有没有办法做到这一点 ?我找到了这个链接Convert an image into binary data in javascript 但这适用于图像标签。我需要一种方法来指定图像文件路径并将图像上传到TWITPIC。
我开始了解有关HTML 5的FileReader API。有没有办法使用它?它应该在本地文件上工作。
Chrome Extension是否支持FileReader API而不运行localhost服务器?
答案 0 :(得分:3)
我自己找到了答案。 Chrome扩展程序确实支持HTML 5的FileReader API。因此,只需下面的代码就可以了。
var reader = new FileReader();
reader.readAsDataURL(f);
答案 1 :(得分:-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
变量中。