React Native,图像选择器,获取,表单数据如何发布请求图像

Posted

技术标签:

【中文标题】React Native,图像选择器,获取,表单数据如何发布请求图像【英文标题】:React native , image picker , fetch , form data how to post request an image 【发布时间】:2021-12-03 05:56:34 【问题描述】:

我正在尝试将图像发送到我的后端,但我将其作为字符串 [Object Object] 接收

  const data = new FormData();
          //file.uri returns "file:///...." on android and base64 on web 
          data.append('pic',  filename : 'dd.jpeg' , uri : file.uri, type : 'image/jpeg');
          let res = await fetch(
            'http://192.168.0.88:8000/api/review/new',
            
              method: 'post',
              body: data,
            
          );

          let responseJson = await res.json();

在我的 php 后端

$request->file('pic') // returns null
$request->pic // returns [Object Object]

标题(请求)

------WebKitFormBoundaryAmomk6ZVYcf1OVO0
Content-Disposition: form-data; name="pic"

[object Object]
------WebKitFormBoundaryAmomk6ZVYcf1OVO0--

【问题讨论】:

您是否设置了任何标题? 应该是 filename : 'dd.jpeg' 而不是 name : 'dd.jpeg' 我没有设置任何标题。通过这样做解决了它:uri:Platform.OS ===“android”? file.uri : file.uri.replace("file://", "") 【参考方案1】:

这样做解决了:

data.append('pic',  filename : 'dd.jpeg' , uri : Platform.OS === "android" ? file.uri : file.uri.replace("file://", ""), type : 'image/jpeg');

【讨论】:

以上是关于React Native,图像选择器,获取,表单数据如何发布请求图像的主要内容,如果未能解决你的问题,请参考以下文章

无法从 firebase/storage 导入 getStorage 以与 React Native Expo 图像选择器一起使用

获取文档选择器的路径后,iOS 上的 React-Native-pdf 加载失败

如何在React Native中使用两个选择器?

在 React Native 中多次提示用户权限

使用未在 IOS 上显示的表单字段值在 React Native 中显示 PDF

React-Native 图像查看器?