我在angular / ionic 4中工作,我使用文件插件写入文件。目的是打开图片,更改EXIF并保存图片。
我更改了EXIF,并使用以下代码保存文件
这是我的代码:
this.file.writeExistingFile(rep, fic, insert).then(
(data) => {
this.file.readAsBinaryString(rep, fic).then(
(data2) => {
console.log('data2', data2);
});
}
);
并且当我读取文件时,我在图片中有此数据,当然图片也不会像损坏一样显示。
保存文件时我错过了什么吗?
我终于找到了解决方法。
实际上,ionic的文件读取器添加类型为:base64,如果文件已删除,则将其删除并在Arraybuffer中转换我的数据,一切都很好
const base64ToArrayBuffer = base64 => {
const binaryString = window.atob(base64);
const len = binaryString.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
const dataBlob = base64ToArrayBuffer(base64.split(',')[1]);
return file.writeFile(rep, fic, dataBlob, { replace: true, append: false }).then(() => {
return true;
});
终于可以使用了^^