我正在开发一个 React Native 应用程序,我需要将图像或视频作为 blob 上传到 Azure 存储帐户。目前我正在处理图像上传,但我想在这个问题中添加视频,因为视频将是下一步。我尝试了很多方法将图像上传到 Azure 存储,但无法使用 Axios 从 RN 应用程序正确上传图像。我正在使用 SAS 令牌生成上传 url,以便我可以与设备共享来自后端服务器的该 url,以便能够从设备上传图像或视频。我曾经Postman测试过该网址,一切都很好!我可以Postman将图像作为二进制正文上传。我使用了Postman显示Axios代码示例的代码生成,但我不确定此处的文件内容意味着什么。让我退后一点。
在这个React Native应用程序中,我使用react-native-image-picker从图库中选择图像并将路径传递给辅助类,我使用react-native-fs来获取图像只是为了确保它存在以及所有内容和我还base64从RNFS获取字符串。现在我有了图像路径和图像的 base64 字符串,我想使用 Axios 将其上传到 Azure 服务器。我尝试了一些事情。其中一件事是来自邮递员的示例代码,但正如我所说,我不确定如何将文件内容作为示例代码中显示的数据对象传递,即
const axios = require('axios');
let data = '<file contents here>'; // <--- I don't know this
let config = {
method: 'put',
url: 'https://azure.blob.url/container/blob?sastoken=1234',
headers: {
'x-ms-blob-type': 'BlockBlob',
'Content-Type': 'image/jpeg'
},
data : data
};
axios(config) …Run Code Online (Sandbox Code Playgroud)