0

我正在使用 filepicker.io 将现有文件 (FPFile) 导出到给定目标。我将现有的 FPFile 用作一种小型临时文件,因此导出很快。然后,在导出完成后,我试图用一些图像数据(base64 编码)写回我刚刚导出的文件。问题是,在我写入数据后,图像不可见。图像不会在 Firefox、Chrome 或 IE 中显示。我实际上可以在 Photoshop 中打开图像,它显示得很好,所以我知道正在写入数据。文件写入后似乎存在某种错误。也许我只是在做一些愚蠢的事情。这是我的代码:

var fpfile = { url: 'https://www.filepicker.io/api/file/ermKMZgVSu2GCEouu4Lo',
  filename: this.curFile.name, mimetype: 'image/jpeg', isWriteable: true};

  filepicker.exportFile(
    fpfile,
    function(FPFile){
        var data = canvas.toDataURL('image/jpeg');
        writeData(FPFile, data);
    }
  );

  function writeData(file, data){
    filepicker.write(file, data,
      {
        base64decode: true
      },
      function(FPFile){
        console.log("Write successful:", FPFile.filename);
      },
      function(FPError) {
        console.log(FPError.toString());
      },
      function(progress) {
        console.log("Loading: "+progress+"%");
      }
    );
  }
4

1 回答 1

1

例如,当您使用toDataURL呼叫时,您会包含前缀

data:image/png;base64

This needs to be stripped from the actual contents of the image before doing base64 decoding

于 2013-02-01T19:26:25.957 回答