Javascript 如何在React Native中显示来自Base64的视频

Javascript 如何在React Native中显示来自Base64的视频,javascript,react-native,expo,Javascript,React Native,Expo,我正在将视频转换为Base64并将其存储在AmazonS3中。然后我从AmazonS3中检索它并接收原始的Base64数据如何将原始Base64更改为本地Expo视频组件将接受并正确渲染的格式? 我尝试将Base64直接输入uri的源部分: <Video source={{uri:Base64}} /> 我尝试使用expo文件系统将Base64分配给本地uri: FileSystem.downloadAsync( file,

我正在将视频转换为Base64并将其存储在AmazonS3中。然后我从AmazonS3中检索它并接收原始的Base64数据如何将原始Base64更改为本地Expo视频组件将接受并正确渲染的格式?

我尝试将Base64直接输入uri的源部分:

<Video source={{uri:Base64}} />

我尝试使用expo文件系统将Base64分配给本地uri:

FileSystem.downloadAsync(
              file,
              FileSystem.documentDirectory + "video.mov"
            ).then(({ uri }) => {
                setVideo(uri);

<Video source={{uri:video}} />
FileSystem.downloadsync(
文件
FileSystem.documentDirectory+“video.mov”
).然后({uri})=>{
setVideo(uri);

任何帮助都会很好。

出于好奇。为什么要将其编码为bas64?它会变大33%。这是一个稍微随意的选择;我需要一种存储原始数据的方法。什么是base64的好替代方法?只需存储文件本身。base64是一种特定的编码,适用于只能使用8位中的7位的位置,如嵌入文本中。最好的选择是你能做的就是不要那样做。你现在是怎么得到它的?你以前转换成base64的是什么?啊,非常奇怪,它们没有提供一种方式来读取文件作为blob、缓冲区或u8intArray。所有这些都比base64更有意义。blob可以直接在fetch主体中使用,所以很奇怪!