gpt4 book ai didi

http - 使用 React-Native Fetch API 通过 HTTP 发送二进制文件

转载 作者:可可西里 更新时间:2023-11-01 15:24:25 25 4
gpt4 key购买 nike

有没有办法使用 Fetch API 上传二进制文件(例如使用签名 URL 上传到 S3)?

对于某些“应用程序/八位字节流”,这将是一个简单的 PUT。

XHR 库可以正常工作,但我相信 Fetch 更好,尤其是在 React-Native 环境中。
现在 React-Native Fetch 是否支持 Blob

理想情况下我想做这样的事情,但是 Blob 是未定义的:

fetch('https://s3.amazonaws.com/signedUrl/', {
method: 'PUT',
headers: {
'Content-Type': 'application/octet-stream',
},
body: Blob(filePath)
})

最佳答案

这适用于 Android/iOS 和模拟器,如果您有二进制文件的文件系统路径,例如使用内置 XMLHttpRequest 发送请求的图像:

const xhr = new XMLHttpRequest();
xhr.open('post', serviceUrl);
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
resolve(xhr.response);
} else {
reject(xhr.response);
}
}
};

xhr.setRequestHeader('Content-Type', 'image/jpeg');

xhr.send({ uri: 'pathToFile', type: 'image/jpeg', name: 'file' });

macOS 上的示例 pathToFilefile:///Users/username/Library/Developer/CoreSimulator/Devices/061D4A47-6363-4996-A157-03E6AD2DD9E4/data/Containers/Data/Application/3900F3EF-3259-43CF-9400-87B638EF9A1B/Library/Caches/Camera/F86E7345-080A-4D51-A80E-0CAD3370A353.jpg

关于http - 使用 React-Native Fetch API 通过 HTTP 发送二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41111995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com