0

我正在使用 RNFetchBlob 将图像共享为 base64 格式。但是图像正在我的本地文件夹中下载。我想删除它。根据我的研究知识,我想取消链接图像路径。我不知道该怎么做。这是我的代码

_downloadImageAndShare(url ,title, message) {
const { fs } = RNFetchBlob.fs;
const self = this;
RNFetchBlob.config({ fileCache: true })
  .fetch('GET', url)
  .then(resp => resp.readFile('base64')
      .then(base64 => ({ resp, base64 })))
  .then(obj => {
    const headers = obj.resp.respInfo.headers;
    const type = headers['Content-Type'];
    const dataUrl = 'data:' + type + ';base64,' + obj.base64;
    return { url: dataUrl, title, message };

  })
  .then(options => Share.open(options)).catch(err => {err && 
  console.log(err); })         
}

如何在此方法中使用此代码

RNFetchBlob.fs.unlink(path)
.then(() => { ... })
.catch((err) => { ... })

以及如何指定取消链接(路径)?

提前致谢。

4

1 回答 1

1

config您可以使用参数指定文件位置path

const filePath = RNFetchBlob.fs.dirs.DocumentDir + '/myFile';
RNFetchBlob.config({ fileCache: true, path : filePath })
  .fetch('GET', url)
  .then(resp => resp.readFile('base64')
      .then(base64 => ({ resp, base64 })))
  .then(obj => {
    const headers = obj.resp.respInfo.headers;
    const type = headers['Content-Type'];
    const dataUrl = 'data:' + type + ';base64,' + obj.base64;
    return { url: dataUrl, title, message };

  })
  .then(options => Share.open(options)).catch(err => {err && 
  console.log(err); })         
}

然后你可以unlink这样打电话

RNFetchBlob.fs.unlink(filePath)
.then(() => { ... })
.catch((err) => { ... })
于 2018-04-02T15:56:20.627 回答