我正在尝试在我的react原生应用程序中包含视频上传功能。我已经通过了这里关于这个问题的许多教程和问题,但我认为我遇到的问题与我所看到的不同。视频正在使用我创建的原生组件录制和保存。我目前正在为Android开发,我正在使用MediaRecorder对象保存视频,然后组件将文件路径发送回react native代码进行存储。这似乎可以在react-native中播放视频,但我也想将视频上传到s3并能够在AWS控制台上观看视频。当我在AWS控制台中播放视频时,我得到一个错误“没有找到支持格式和mimetype的视频”。这让我相信,当文件被上传时,有一个编码问题。
const s3 = new AWS.S3()
const uploadFileToS3 = (dat) => {
const params = {
Bucket: bucket,
Key: keyName,
Body: dat,
ContentType: 'video/mp4',
}
return s3.upload(params).promise();
}
try{
console.log("Here! " + filename)
const file = await RNFetchBlob.fs.readFile(filename);
console.log("Starting upload! ")
await uploadFileToS3(file);
console.log("Finished upload! ")
} catch (err) {
console.error(err);
}
字符串
我试过从“@aws-sdk/client-s3”使用PutObjectCommand和S3 Client,我试过multipart uploads和aws' amplify库。所有这些我最终都会卡在“没有找到支持格式和mimetype的视频”。我还试过从“react-native-aws 3”使用RNS 3,它无法正确读取我从android组件存储的文件路径。
1条答案
按热度按时间5t7ly7z51#
1.请访问这个博客以获得更多的了解。
https://www.mohammadfaisal.dev/blog/how-to-upload-files-to-aws-s3-in-react
1.这里有一些有用的讨论和解决方案。
How to upload video files into an S3 bucket using React的
1.我实现并提供了解决方案的帮助下,这一点。
https://aboutreact.com/react-native-upload-file-to-aws-s3-bucket/的
1.这就是我如何修改你的问题与我的回应
字符串