我有一个React Native应用程序,该应用程序使用fetch上传一些文本数据和图像。我们最近注意到并非所有图像都保存在服务器上。向查尔斯放火,我发现其中一些图像看起来格式不正确,不确定到底是什么原因或原因。
通过测试,我尝试了不同的图像,相同的图像等,但似乎仍然存在此问题。在下面的屏幕截图中,您可以看到请求以及如何仅一张图像具有正确的数据。我不确定这些符号的含义或为什么在那里。
如您在代码中所见,我将以完全相同的方式添加两个图像。
// data is my object that contains job info, image meta info, etc..
const formData = new FormData();
formData.append("sc", JSON.stringify(data));
// append call images
data.SavedImages.forEach(image => {
if (image.meta && image.meta.uri) {
formData.append(`image_sc_${image.ImageID}`, {
uri: image.meta.uri,
type: "image/jpeg",
name: data.CallID
});
}
});
//append equip images
data.Equip.forEach(e => {
e.SavedImages.forEach(image => {
if (image.meta && image.meta.uri) {
formData.append(`image_equip_${image.ImageID}`, {
uri: image.meta.uri,
type: "image/jpeg",
name: image.EquipmentID
});
}
});
});
return fetch(Api.buildURL("ServiceCallPayload"), {
method: "POST",
body: formData
})
我希望图像都以正确的格式包含在请求中,但会以某种方式损坏。
答案 0 :(得分:0)
我的同事发现了这个问题,name属性必须具有正确的文件扩展名,否则将被视为文本。
// append call images
data.SavedImages.forEach(image => {
if (image.meta && image.meta.uri) {
formData.append(`image_sc_${image.ImageID}`, {
uri: image.meta.uri,
type: "image/jpeg",
name: data.CallID + '.jpeg'
});
}
});