Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react本机获取blob多部分数据映像上载问题_Javascript_Node.js_React Native_React Native Camera_React Native Fetch Blob - Fatal编程技术网

Javascript react本机获取blob多部分数据映像上载问题

Javascript react本机获取blob多部分数据映像上载问题,javascript,node.js,react-native,react-native-camera,react-native-fetch-blob,Javascript,Node.js,React Native,React Native Camera,React Native Fetch Blob,我现在正在做一个react原生项目,它有一个拍照和上传功能,我使用它来传递多部分数据以上传单个文件。但是,它似乎没有向我的api传递任何数据 我也用它来拍摄图像。根据该模块的一些用法,我的项目能够通过调用此函数来捕获图像并显示图像 this.camera.capture({ metadata: options }) .then((data) => { console.log("image path: ", data.path); }) .catch(err =>

我现在正在做一个react原生项目,它有一个拍照和上传功能,我使用它来传递多部分数据以上传单个文件。但是,它似乎没有向我的api传递任何数据

我也用它来拍摄图像。根据该模块的一些用法,我的项目能够通过调用此函数来捕获图像并显示图像

this.camera.capture({ metadata: options })
  .then((data) => {
    console.log("image path: ", data.path);
  })
  .catch(err => console.error(err));
然后我得到了这样的结果

image path: /var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg
RNFetchBlob.fetch(
  'POST', 
  [url], 
  {
    Authorization: jwtToken,
    'Content-Type': 'multipart/form-data'
  }, 
  [
    { 
      name: 'file',
      filename: 'AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg', 
      type: 'image/jpeg', 
      data: RNFetchBlob.wrap('/var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg') 
    }
  ]
).then((response) => {
  console.log("res: ", response.text());
})
.catch((error) => {
  console.log(error);
});
所以我使用RNFetchBlob和这个路径将图像发送到我的api,如下所示

image path: /var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg
RNFetchBlob.fetch(
  'POST', 
  [url], 
  {
    Authorization: jwtToken,
    'Content-Type': 'multipart/form-data'
  }, 
  [
    { 
      name: 'file',
      filename: 'AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg', 
      type: 'image/jpeg', 
      data: RNFetchBlob.wrap('/var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg') 
    }
  ]
).then((response) => {
  console.log("res: ", response.text());
})
.catch((error) => {
  console.log(error);
});
之后,我检查了我可以从API获得的请求,它显示如下:

{ 
    host: 'localhost:3000',
    connection: 'close',
    'content-type': 'multipart/form-data; charset=utf-8; boundary=RNFetchBlob1881293472',
    'user-agent': 'app/1 CFNetwork/811.5.4 Darwin/16.6.0',
    accept: '*/*',
    'accept-language': 'zh-tw',
    authorization: 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1OTUxMzYxZDBkMTk3MjczNjNiMzRhN2EiLCJ1c2VyVHlwZSI6InVzZXIiLCJpYXQiOjE0OTg0OTQ1MTUsImV4cCI6MTQ5OTA5OTMxNX0.8vhDJtFugi4OQAJ48PTsBlAp8bw6x__KwOXvk6xuYW8',
    'content-length': '552434',
    'accept-encoding': 'gzip, deflate' 
}
但是我尝试了控制台我的req.body,我从中得到了空对象{}。你能给我一些建议吗?多谢各位~


我正在使用“react native fetch blob”:“^0.10.5”和“node”:“v6.10.2”

您找到问题的根源了吗?我有一个类似的问题,尽管我正在将图像的二进制文件数据的base64编码版本传递到“data”中,而不是包装文件路径。服务器接收到的请求中只有空字符串,图像数据应该在其中!你解决了这个问题吗?我对react native fetch blob也有同样的问题