RNFetchBlob 多部分请求构建器发现一个没有“data”属性的字段,该字段“null”将被隐式删除

问题描述 投票:0回答:1
const formData = new FormData();


for (let i = 0; i < image.length; i++) {
  formData.append("postFile", image[i].data);

}

formData.append("imagesList", null);

console.log("formData..", formData)

rnfetchblob.fetch('POST', `${baseUrl}/fame/saveImage`, {
  Authorization: `Bearer ${token}`,
  otherHeader: "foo",
  'Content-Type': 'multipart/form-data',
}, [
  formData,
]).then((resp) => {
  console.log("response = ", resp)
}).catch((err) => {
  console.log("error = ", err)
})

我尝试了太多次,但数据为空,我什至花了一整天的时间来研究 React Native fetch Blob 文档

javascript react-native base64 rn-fetch-blob
1个回答
0
投票

尝试使用这个函数 uploadImage

我对此函数做了哪些更改,我更改了有效负载并使用 fetch 而不是 rnfetchblob.fetch

let uploadImage = async () => {
  const formData = new FormData();
  formData.append('imagesList', null)
  image.forEach((file: any) => {
    formData.append('postFile', {
      name: file?.fileName,
      size: file?.fileSize,
      type: file?.type,
      uri: file?.uri
    });
  });
    let res = await fetch(
      `${baseUrl}/fame/saveImage`,
      {
        method: 'post',
        body: formData,
        headers: {
          Authorization: `Bearer ${token}`,
          'Content-Type': 'multipart/form-data',
        },
      }
    );
    let responseJson = await res.json();
    if (responseJson.status == 1) {
      alert('Upload Successful');
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.