Ionic-API提取无法在实际设备上运行

时间:2018-08-01 12:52:48

标签: angular ionic-framework fetch-api

我正在尝试将.PNG文件上传到服务器。通过浏览器运行应用程序时(使用“离子服务”),一切正常,文件已上传。但是,当尝试使用('ionic cordova run android'在实际的android设备上执行此操作时,出现400错误。

let headers = new Headers();
  headers.append('Content-Type','multipart/form-data');

  let form = new FormData();
  form.append('files', filePhoto);

  let fetchAPI;

  let imageUrl;

  fetchAPI = fetch('https://api.hubapi.com/.........',
  {
    method: 'POST',
    mode: 'cors',
    body: form
  })
  .then(function(res) {
    return res.json();
  }).
  then(function(json){
    test(json.objects[0].url);
    console.log(json);
    console.log(json.objects[0].name);
    console.log(json.objects[0].url);
  })

我似乎无法弄清楚为什么它只能在浏览器中工作。 我收到的错误是:

  

“ POST https://api.hubapi.com/ .... 400()”

编辑,我的config.xml

https://pastebin.com/JJNySHPV

1 个答案:

答案 0 :(得分:0)

我也面临同样的问题。现在离子框架已解决此问题。

您只需更新ionic webview插件:

首先将其删除:

new PageRequest(offset, limit)

然后添加

ionic cordova plugin remove cordova-plugin-ionic-webview

注意:cordova-plugin-ionic-webview版本应大于2.x.x

据您了解: 提取api不适用于文件方案或协议。您需要使用http或https协议才能使其正常工作。