Expo图像选择器将选定的图像传递给API



两个问题:

  1. 我如何将图像选择器的结果转换为blob来构建二进制,以便我们可以将formData传递给api(仅需要二进制)?

  2. 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);

此扩展代码可用于答案的第一部分以获得图像扩展。

最新更新