我使用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+"%");
}
);
}
答案 0 :(得分:1)
当您使用toDataURL
电话时,请包含前缀,例如
data:image/png;base64
在进行base64解码之前,需要将其从图像的实际内容中剥离