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

これは、base64 デコードを行う前に、画像の実際のコンテンツから削除する必要があります。

于 2013-02-01T19:26:25.957 に答える