我正在尝试通过在React native中使用AWS Amplify将视频上传到AWS S3。可以通过以下链接上传图片:
aws-amplify Upload image using PUT in Storage
我应用相同的代码上传视频并成功。但是,如果视频很大,则应用程序崩溃。
根据示例,他们读取图像/视频文件并将其转换为base64
(占用大量内存,甚至导致应用程序崩溃),然后将所有内容上传到服务器上。
我通过此链接使用blob找到了答案
React native - Upload image to AWS S3 using blob
uploadImageVersion2 = async () => {
const response = await fetch("https://static.asiachan.com/Berry.Good.600.42297.jpg");
const blob = await response.blob();
const fileName = 'profileImage.jpg';
await Storage.put(fileName, blob, {
contentType: 'image/jpg',
level: 'private'
}).then(data => console.log(data))
.catch(err => console.log(err))
}
但是,出现错误:
我的问题是:
1 /在使用AWS Amplify上传图像/视频之前,有什么方法可以避免转换base64
2 /是否有其他方法可以在不使用AWS Amplify中的存储的情况下,在React中将图像/视频上传到AWS S3本机。
如果您知道这两个问题的答案,请让我知道并告诉我如何做。
提前谢谢!