Спасибо за чтение, я пытаюсь сохранить удаленный GIF в системный альбом в React Native в iOS.
Я пробовал следующие способы, но все они сохраняют GIF как stati c images.
Я создаю новый проект React Native версии 0.62.2 для запуска этого кода
"dependencies": {
"@react-native-community/cameraroll": "^1.7.2",
"react": "16.11.0",
"react-native": "0.62.2",
"react-native-fs": "^2.16.6",
"rn-fetch-blob": "^0.12.0"
}
- Сохранение GIF напрямую с помощью CameraRoll.
Не работает потому что https://github.com/react-native-community/react-native-cameraroll/issues/16
const uri = 'https://i.loli.net/2020/05/28/YKaCdO1pexuThbN.gif'
CameraRoll.saveToCameraRoll(uri);
Загрузите GIF сначала с помощью response-native-fs
const img = 'https://i.loli.net/2020/05/28/YKaCdO1pexuThbN.gif'
const storeLocation = `${RNFS.TemporaryDirectoryPath}`;
const pathName = `${new Date().getTime()}_babycam_moji.gif`;
const downloadPath = `${storeLocation}${pathName}`;
const ret = RNFS.downloadFile({
fromUrl: img,
toFile: downloadPath,
});
ret.promise.then((res) => {
console.log('res', res);
if (res && res.statusCode === 200) {
const promise = CameraRoll.saveToCameraRoll(
`file://${downloadPath}`,
);
promise.then(() => {});
} else {
}
});
сначала загрузить GIF с помощью rn-fetch-blob
RNFetchBlob.config({appendExt: 'gif', fileCache: true})
.fetch('GET', img)
.then((res) => {
console.log('res', res.path());
CameraRoll.saveToCameraRoll(res.path());
});
Как я могу сохранить GIF-файлы в альбом в iOS в react-native?
Спасибо