Estoy tratando de cargar un video que se acaba de crear en S3 desde React Native y tengo algunas dificultades para combinar react-native-aws3 y react-native-fetch-blob.
Hay varias respuestas sobre la carga de imágenes, lo que funciona bien cuando modifico un poco el código. Estoy confundido sobre cómo pasar correctamente el blob sin una ruta de archivo (data.uri o data.path apuntará al archivo original que no se cargará correctamente) y sobre si las options son correctas.
const options = { keyPrefix: 'video/', bucket: 'XXXX', region: 'XXXXX', accessKey: 'XXXXX', secretKey: 'XXXX', successActionStatus: 201 }; uploadImage(data.path) //I call this once the video is done recording. const uploadImage = (uri, mime = 'application/octet-stream') => { return new Promise((resolve, reject) => { const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri const sessionId = new Date().getTime(); let uploadBlob = null; fs.readFile(uploadUri, 'base64') .then((blob) => { uploadBlob = blob; let file = { uri: ???, //a bit confused here. name: "video", type: mime } RNS3.put(file, options) .then(response => { if(response.status !== 201) { console.log(response.body); } console.log(response); }) .catch(err => console.error(err)); }) }) }Varias otras respuestas mencionaron el uso de FormData. No veo cómo agregaría eso usando estas bibliotecas.