在阵营天然使用RN取入团块与图像阵列和上传创建FORMDATA

问题描述 投票:0回答:1

我使用rn-fetch-blob库上传一些图片到服务器。但我发现了不同类型的错误,如Content-Type或错误与FORMDATA结构本身,如“类型的NSMutableDictionary不能转换到的NSString的”,我十分沮丧,没有边界。

我有一个图像阵列是这样的:

var images = [
     {name 'pic1', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
     {name 'pic2', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
     {name 'pic3', data: RNFetchBlob.wrap(imagePathHere), type: 'image/jpeg'},
];

然后,我创建了FORMDATA如下:

  const formData = new FormData();
  formData.append('id', userId)   // <-- numeric type
  formData.append('pictures', images);

我在做从RNFetchBlob发布请求与'Content-Type': 'multipart/form-data'和我直接通过FORMDATA给它。

关于什么是错的任何想法?我读的地方,FORMDATA只允许字符串或斑点,我应该创建从我的阵列中的Blob?我怎样才能做到这一点?

提前致谢。

react-native form-data react-native-fetch-blob
1个回答
0
投票

很多的奋斗,我发现在关于结构我必须通过对参数的一些其他github上的解决方案。这将是正确的我的具体情况。

   var reqData = [
      { name: 'id', data: response.data.id }
   ];

   this.state.images.forEach((image) => {
      reqData.push({
         data: image.imageFile,
         filename: image.fileName.split('.')[0] + '.jpg',
         name: 'pictures',
         type: image.type
      })
   });

但基本上这将是它的一个例子:

var params = [
   { 
       name: 'id',
       data: 43
   },
   { 
       name: 'image',
       data: RNFetchBlob.wrap(imagePath),
       filename: 'image1.jpg',
       type: 'image/jpeg'
   },
   { 
       name: 'image',
       data: RNFetchBlob.wrap(imagePath),
       filename: 'image2.jpg',
       type: 'image/jpeg'
   },
];
© www.soinside.com 2019 - 2024. All rights reserved.