android - 如何使用 React Native 在服务器上上传图片

标签 android ios reactjs react-native

我正在设置 header 和正文,使用带 Post 的提取在服务器上上传图片。我收到响应代码 200,但它没有上传图片,但正在上传其余数据。

下面是正文代码:

export default function setRequestBody(imagePath){

    let boundry = "----WebKitFormBoundaryIOASRrUAgzuadr8l";

    let body = new FormData();

    body.append("--"+boundry+"\r\n");
    body.append("Content-Disposition: form-data; name=imageCaption\r\n\r\n");
    body.append("Caption"+"\r\n");
    body.append("--"+boundry+"\r\n");
    body.append("Content-Disposition: form-data; name=imageFormKey; filename =iimageName.pngg \r\n");
    body.append("Content-Type: image/png \r\n\r\n");
    body.append({uri : imagePath});
    // appened image Data Here
    body.append("\r\n");
    body.append("--"+boundry+"--\r\n");
    return body

}

请帮忙。我犯了什么错误。 :(

最佳答案

我找到了解决方案:

let body = new FormData();
body.append('photo', {uri: imagePath,name: 'photo.png',filename :'imageName.png',type: 'image/png'});
    body.append('Content-Type', 'image/png');

fetch(Url,{ method: 'POST',headers:{  
     "Content-Type": "multipart/form-data",
     "otherHeader": "foo",
     } , body :body} )
  .then((res) => checkStatus(res))
  .then((res) => res.json())
  .then((res) => { console.log("response" +JSON.stringify(res)); })
  .catch((e) => console.log(e))
  .done()

** 文件名是可选的...

关于android - 如何使用 React Native 在服务器上上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38691379/

相关文章:

android - 更改 ProgressDialog 的样式

ios - TableView 单元格中的 UILabel 和 UISwitch

javascript - 如何编写通用方法来处理 React 中的多个状态更改

java - 适配器中的空指针异常

java - 如何在应用程序进入后台时停止服务

java - Android 测试类

ios - ld : framework not found FirebaseAnalytics after upgrading from 4. x.x 到 5.x.x firebase 通过 cocoapods

iphone - 优化 iPhone/iPod touch 上的二进制应用程序大小

javascript - 在 react/redux/saga/selector 设置中与 'what goes where' 作斗争

javascript - 有没有办法删除数组中字符串中的换行符?