在本机反应中,如何将 base64 图像转换为 jpg 然后保存到临时路径?

K.W*_*.Wu 6 javascript base64 image reactjs react-native

在 中react-native,将图像转换为BASE64格式很容易,在 的帮助下react-native-fetch-blob,我只需执行以下操作:

RNFetchBlob.fs.readFile(filePath, 'base64')
    .then((data) => console.log(data));
Run Code Online (Sandbox Code Playgroud)

但是,反过来呢?我知道有一些软件包可以做到这一点,但我想知道是否可以仅使用react-native-fetch-blobreact-native-fs?

我想要的是在将BASE64图像转换并保存到文件后,我可以像这样显示它:

<Image
    source={{ uri: <path/to/converted/image> }}
    style={{ ... }}
/>
Run Code Online (Sandbox Code Playgroud)

K.W*_*.Wu 9

事实证明它根本不棘手,假设我有一个BASE64图像,如果我想将其转换为 a JPG,只需react-native-fs像这样使用:

import RNFS from 'react-native-fs';

const imageDate = '<some base64 data>';
const imagePath = `${RNFS.TemporaryDirectoryPath}image.jpg`;

RNFS.writeFile(imagePath, imageData, 'base64')
    .then(() => console.log('Image converted to jpg and saved at ' + imagePath));
Run Code Online (Sandbox Code Playgroud)

就这样