我试图将图像和一些描述从我的React Native应用程序发送到Node Rest Api,但它从未到达api。 这是我的代码:
<?xml version="1.0"?>
<Tables>
<Columns entry="1" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="13" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="12" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="11" status="E">
<FinEntryLine number="8"/>
</Columns>
<Columns entry="10" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="9" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="8" status="E">
<FinEntryLine number="22"/>
</Columns>
<Columns entry="7" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="6" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="5" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="4" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="3" status="E">
<FinEntryLine number="4000"/>
</Columns>
<Columns entry="2" status="E">
<FinEntryLine number="22"/>
</Columns>
<PaymentTerms>
<PaymentTerm entry="AVRO_TEST"/>
</PaymentTerms>
</Tables>
当我发送图像时,提取会引发错误: [TypeError:网络请求失败] 。我的节点服务器未收到任何请求。 我试过仅使用字符串发送FormData,例如:
let formData = new FormData();
formData.append("imageFile", {
uri: image.uri,
type: "image/jpeg",
name: filename,
});
/*
image.uri is similar to this: "file:///data/user/0/host.exp.exponent/cache/ExperienceData
/%2540anonymous%252FAppTest_v1-7f36da10-9f18-4a65-97f6-55d9c75f3998/ImagePicker/
e54acf1b-5391-4db3-87e5-a8765decf3c5.jpg",
and filename: "e54acf1b-5391-4db3-87e5-a8765decf3c5.jpg"
*/
formData.append("data", {fromApp: "true", userId: "testID123"});
//console.log(formData);
try{
const response = await fetch(
serverIp + "/manageFiles/almacenImagenes",{
method: "POST",
//headers: {'Content-Type': 'multipart/form-data'}, //doesn't work with or without this
body: formData
}
);
console.log("RESPONSE:",response);
const resData = await response.json();
console.log("resDATA:",resData);
}catch(err){
console.log("ERROR:", err);
}
已发送,但请求的正文为空。
我也证明了这一点
let formData = new FormData();
formData.append("something","abc123");
它可以正常工作,但是不能发送图像。
我正在使用Expo 版本35.0.0 和React Native 版本0.59.8 ,并且我正在真实的 Android设备中测试该应用< / em>。 请有人告诉我我做错了什么,我一直在寻找答案,但没有找到对我有用的东西。
解决方案: 我已经解决了此问题,即发送以base64编码的图像,然后在我的Node服务器中对其进行解码。