Remove react-native-fs (#5463)
* remove rnfs * tweak e2e * log * use `safeDeleteAsync`
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import RNFS from 'react-native-fs'
|
||||
import {copyAsync} from 'expo-file-system'
|
||||
import {BskyAgent, ComAtprotoRepoUploadBlob} from '@atproto/api'
|
||||
|
||||
import {safeDeleteAsync} from '#/lib/media/manip'
|
||||
|
||||
/**
|
||||
* @param encoding Allows overriding the blob's type
|
||||
*/
|
||||
@@ -65,7 +67,7 @@ async function withSafeFile<T>(
|
||||
// temporary file).
|
||||
const newPath = uri.replace(/\.jpe?g$/, '.bin')
|
||||
try {
|
||||
await RNFS.copyFile(uri, newPath)
|
||||
await copyAsync({from: uri, to: newPath})
|
||||
} catch {
|
||||
// Failed to copy the file, just use the original
|
||||
return await fn(uri)
|
||||
@@ -74,7 +76,7 @@ async function withSafeFile<T>(
|
||||
return await fn(newPath)
|
||||
} finally {
|
||||
// Remove the temporary file
|
||||
await RNFS.unlink(newPath)
|
||||
await safeDeleteAsync(newPath)
|
||||
}
|
||||
} else {
|
||||
return fn(uri)
|
||||
|
||||
@@ -1,25 +1,37 @@
|
||||
import RNFS from 'react-native-fs'
|
||||
import {
|
||||
Image as RNImage,
|
||||
openCropper as openCropperFn,
|
||||
} from 'react-native-image-crop-picker'
|
||||
import {
|
||||
documentDirectory,
|
||||
getInfoAsync,
|
||||
readDirectoryAsync,
|
||||
} from 'expo-file-system'
|
||||
|
||||
import {compressIfNeeded} from './manip'
|
||||
import {CropperOptions} from './types'
|
||||
|
||||
async function getFile() {
|
||||
let files = await RNFS.readDir(
|
||||
RNFS.LibraryDirectoryPath.split('/')
|
||||
.slice(0, -5)
|
||||
.concat(['Media', 'DCIM', '100APPLE'])
|
||||
.join('/'),
|
||||
)
|
||||
files = files.filter(file => file.path.endsWith('.JPG'))
|
||||
const file = files[0]
|
||||
const imagesDir = documentDirectory!
|
||||
.split('/')
|
||||
.slice(0, -6)
|
||||
.concat(['Media', 'DCIM', '100APPLE'])
|
||||
.join('/')
|
||||
|
||||
let files = await readDirectoryAsync(imagesDir)
|
||||
files = files.filter(file => file.endsWith('.JPG'))
|
||||
const file = `${imagesDir}/${files[0]}`
|
||||
|
||||
const fileInfo = await getInfoAsync(file)
|
||||
|
||||
if (!fileInfo.exists) {
|
||||
throw new Error('Failed to get file info')
|
||||
}
|
||||
|
||||
return await compressIfNeeded({
|
||||
path: file.path,
|
||||
path: file,
|
||||
mime: 'image/jpeg',
|
||||
size: file.size,
|
||||
size: fileInfo.size,
|
||||
width: 4288,
|
||||
height: 2848,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user