当前,我正在尝试使用常规方式将图像从我的应用程序上传到S3存储桶:
fucntion uploadFile(uri) {
const formData = new FormData()
formData.appendFile('file', uri)
// upload file here...
}
uploadFile('file:///...')
该方法对我不起作用,因为我的服务器希望接收二进制文件,并且显然可以通过这种方式将其转换为base64。我尝试这样做:
const toBlob = async uri => {
const res = await fetch(uri);
return await res.blob();
}
uploadFile(await toBlob('file:///...'))
似乎实际上返回的是Blob
"_data": Object {
"blobId": "773401F6-06A7-4C45-B3EE-7217BA98748B",
"name": "C05AF729-63B2-4874-9061-991A8564E8A4.jpg",
"offset": 0,
"size": 7585938,
"type": "image/jpeg",
,但仍然无法上传。我的问题是,这里的toBlob
函数可以吗?有什么办法查看它是否返回了有效文件?那是正确的方法吗?在这两种方法中,文件都到达损坏的位置。我可以确认,在尝试通过将form-data
键设置为file
类型而不是file
的邮递员上传text
时,它可以工作。我需要将邮递员的这种行为复制到我的应用中