【问题标题】:Convert image to base64 without canvas将图像转换为 base64 而不使用画布
【发布时间】:2013-10-11 05:40:17
【问题描述】:

我需要将图像转换为 base64 编码。我知道用画布很容易。但问题是它也应该在 IE8 中运行。但是 IE8 不支持 HTML5,所以我不能用画布来做。有没有其他方法使用 javaScript 将图像转换为 base64 ?

谢谢

【问题讨论】:

  • 找到一个适用于 IE8 的二进制 ajax 例程,以及一个 js 编码的 btoa() polyfill,然后你就在路上了。

标签: javascript jquery html


【解决方案1】:

如果这需要在客户端完成,简单的答案是否定的。 canvas 元素是将图像转换为位图数据或 data-uris 的唯一方法(即使这样,安全限制也可能会阻止这种情况发生)。

您也许可以使用 Flash 解决这个问题,但当然这需要客户端安装 Flash。

或者设置一个外部网络服务,您可以在其中上传图像并让它返回您需要的数据。

对于 IE8 及更低版本,没有开箱即用的选项(exCanvas 为您提供画布绘图功能,但无法提供此处所需的位图数据)。基本上,对于 IE8,您将需要一个服务器。

【讨论】:

    【解决方案2】:

    这里给出了一些答案

    How can you encode a string to Base64 in JavaScript?

    你试过了吗?

    【讨论】:

    • 我正在尝试使用 Sunny Milenov 的解决方案。我可以使用它成功地将字符串转换为base64。但我不明白如何使用它来转换图像。你能帮帮我吗?
    • @sachin 检查此链接 dean.edwards.name/weblog/2005/06/base64-ie 想法是使用 img.src.slice(5);
    • 这个问题是我没有使用 php 等后端。我在 Salesforce 中实现它。
    • @sachin 你不需要。如果图片已经加载,则需要执行 img.src.slice(5);
    猜你喜欢
    • 2018-06-26
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多