Firefox 在保存类型 - 另存为对话框中的文件类型不正确

问题描述 投票:0回答:2

我正在尝试使用 FileSaver.js (https://github.com/eligrey/FileSaver.js/)

当我保存 jpg 类型的图像时,Firefox 中显示的“另存为”对话框在“保存类型”下拉列表中给出了错误的值(它显示“PNG 图像 (.jpg),但我期望的是 JPEG 图像 (.jpg)) .

谁能告诉我如何解决这个问题?

javascript firefox jpeg
2个回答
1
投票

类型参数需要指定image/jpeg。


0
投票

终于找到这个问题的原因了。

我使用canvas-toblob javascript 库将canvas 转换为blob。但是 Firefox 有 toblob 方法的内部实现,因此永远不会调用 canvas-toblob.js 中的相同方法。

我修改了canvas-toblob.js,以便Firefox将使用这个库中的方法。这解决了我的问题

if (HTMLCanvasElement) {
  canvas_proto.toBlob = function(callback, type /*, ...args*/) {
    if (!type) {
      type = "image/png";
    }

    if (this.msToBlob && /^\s*image\/png\s*(?:$|;)/i.test(type)) {
      callback(this.msToBlob());
      return;
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.