在 Javascript 中将图像转换为二进制数据或字符串

发布于 2024-11-07 00:10:24 字数 385 浏览 2 评论 0原文

我正在使用 Chrome Extension 上的 XMLHttp Request 将图像文件上传到 TWITPIC。我需要将图像作为有效负载发送。有办法做到这一点吗?我找到了这个链接将图像转换为javascript中的二进制数据 但这适用于图像标签。我需要一种方法来指定图像文件路径并将图像上传到 TWITPIC。

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

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

I am working on uploading image file to TWITPIC using XMLHttp Request on a Chrome Extension . I need to send the image as payload. Is there a way to do this ? I found this link Convert an image into binary data in javascript
But that works on image tags. i need a way to specify image file path and upload image to TWITPIC.

I came to know about FileReader API with HTML 5. Is there any way to work using that??. It should work on a local file.

Does Chrome Extension support FileReader API without running a localhost server ??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丶视觉 2024-11-14 00:10:24

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

  var reader = new FileReader();
  reader.readAsDataURL(f);

I found the answer myself. Chrome Extensions does support FileReader API of HTML 5. So just the code below works simple.

  var reader = new FileReader();
  reader.readAsDataURL(f);
飞烟轻若梦 2024-11-14 00:10:24

您可以使用 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 变量中。

You can use this to get the binary data of an image using XMLHTTPRequests, I used it recently for a similar purpose:

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"
});

And the binary data is stored in the binary variable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文