2013-02-01 62 views
0

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

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+"%"); 
     } 
    ); 
    } 

回答

1

当您使用toDataURL电话,你有前缀,例如

data:image/png;base64 

这需要做的base64解码

之前从图像的实际内容剥离
+0

当然!谢谢! –

+0

也许你可以检查'''data:image/png; base64'''和''data:image/jpeg; base64'''默认?我只是花了一些时间试图调试这一个:) –