读取刚刚写入的文件与Ionic4文件插件没有相同的数据

问题描述 投票:0回答:1

我在angular / ionic 4中工作,我使用文件插件写入文件。目的是打开图片,更改EXIF并保存图片。

我更改了EXIF,并使用以下代码保存文件

这是我的代码:

              this.file.writeExistingFile(rep, fic, insert).then(
                (data) => {
                  this.file.readAsBinaryString(rep, fic).then(
                    (data2) => {
                      console.log('data2', data2);
                   });
                }
              );

我尝试按如下方式保存数据(插入变量)enter image description here

并且当我读取文件时,我在图片中有此数据,当然图片也不会像损坏一样显示。enter image description here

保存文件时我错过了什么吗?

angular file ionic4 exif
1个回答
0
投票

我终于找到了解决方法。

实际上,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;
  });

终于可以使用了^^

© www.soinside.com 2019 - 2024. All rights reserved.