React-native 上传图片作为 FormData

Posted

技术标签:

【中文标题】React-native 上传图片作为 FormData【英文标题】:React-native upload Image as FormData 【发布时间】:2018-10-24 04:16:51 【问题描述】:

需要在 React-Native 中将图片作为 formData 发布

表单数据:

------WebKitFormBoundary4df7ukBk3N8GDzOl 内容处置:表单数据;名称=“自拍图像”;文件名="600px-Google_Drive_logo.png" 内容类型:image/png

------WebKitFormBoundary4df7ukBk3N8GDzOl--

我需要使用 react-native-image-picker 重新创建上述内容,这是我的代码:

图像选择器代码:

ImagePicker.showImagePicker(options, (response) => 
        console.log('Response = ', response);

        if (response.didCancel) 
          console.log('User cancelled image picker');
         else if (response.error) 
          console.log('ImagePicker Error: ', response.error);
         else if (response.customButton) 
          console.log('User tapped custom button: ', response.customButton);
         else 
            formData = new FormData();
            formData.append("selfieImage", 
                name: 'selfieImage', 
                filename: response.uri
            )
            console.log(formData)

        //   this.setState(
        //     photo: formData,
        //   );
        
      );

Axios 邮编:

 await axios(
        method: 'post',
        url: `$'url/home-security/image/selfie/' + this.state.newId`,
        data: formData,
        config:  headers: 
            'Content-Type': 'multipart/form-data',
        
        )
        .then(function (response) 
            //handle success
            console.log(response);
        )
        .catch(function (response) 
            //handle error
            console.log(response);
        );

【问题讨论】:

【参考方案1】:

我知道的方法是将图像转换为base64字符串并通过axios传递。但最好使用AWS S3之类的云服务来上传图片并发送图片URL。

【讨论】:

我不能,因为后端只接受 formData 类型的图像。 那么最好的办法是使用像 s3 这样的云服务或者试试这个链接snowball.digital/Blog/Uploading-Images-in-React-Native 非常感谢,我终于可以用你给我的链接了。将代码更改为安静一点,并且可以完美运行。谢谢

以上是关于React-native 上传图片作为 FormData的主要内容,如果未能解决你的问题,请参考以下文章

React-native Cloudinary 图片上传问题与状态

React-native 上传图片到 amazon s3

004-React-Native--多图选择上传

react-native 中的图像预览

React-Native 多部分照片上传在 android 中不起作用

react-native多图选择图片裁剪(支持ad/ios图片个数控制)