【问题标题】:Cannot open PNGs created with canvas.toDataUrl无法打开使用 canvas.toDataUrl 创建的 PNG
【发布时间】:2020-11-29 18:31:58
【问题描述】:

我使用 toDataUrl 方法从画布创建一个 png blob。

const pngdata = canvas.toDataURL("image/png");

我打开一个文本编辑器并将pngdata 的内容复制到我称为img.png 的文件中

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkMAAAiICAYAAAD...

我保存了这个文件。当我尝试打开它时(Windows 10)我得到“看起来我们不支持这种文件格式”

从文件中删除 data:image/png;base64, 没有帮助

为什么这不起作用?

【问题讨论】:

    标签: html5-canvas png todataurl


    【解决方案1】:

    因为您的文件仍被编码为Base64。您需要将其解码为实际的二进制数据才能成为正确的二进制文件。

    您可以找到许多可以为您执行此操作的在线工具,或者最好的可能是 directly export your canvas drawing to a binary Blob 并通过 blob:// URL 下载此 Blob。

    【讨论】:

    • 我的问题并不完全具体,所以我发表评论以解释这个答案如何帮助我。我最终使用 node fs 包保存文件并将编码设置为“base64”。
    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2015-11-26
    • 2021-04-20
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多