两个问题:
-
我如何将图像选择器的结果转换为blob来构建二进制,以便我们可以将formData传递给api(仅需要二进制)?
-
Expo图像选择器未返回图像的确切类型。它只是返回"image"作为图像的类型。
第一个问题的答案是:我们可以用下面的格式传递图像选择器响应的uri:我们需要构造formData
let name = "anyName with proper extension";
let imageType="image/${extensionoftheImage}";
let formDataKeyValue = {
uri: "fileToUpload.uri",
name: name,
type: imageType
}
let formData = new FormData();
formData.append('file',
formDataValue
);
传递formData给API。
第二个问题的答案:Expo只返回图像的类型为&;image&;只是,这可能是bug,所以我们现在可以做的是提取图像选择器结果uri的扩展名。
。
let fileExtension = fileToUpload.uri.substr(fileToUpload.uri.lastIndexOf('.') + 1);
此扩展代码可用于答案的第一部分以获得图像扩展。