【问题标题】:Ionic - API Fetch not working on real deviceIonic - API Fetch 在真实设备上不起作用
【发布时间】:2018-11-26 18:06:52
【问题描述】:

我正在尝试将 .PNG 文件上传到服务器。当通过浏览器运行应用程序(使用“ionic serve”)时,一切正常并且文件被上传。但是,当尝试使用 ('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);
  })

我似乎无法弄清楚为什么这只在浏览器中有效。 我收到的错误是:

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

编辑,我的 config.xml

https://pastebin.com/JJNySHPV

【问题讨论】:

  • 总是指定离子版本
  • 可能图片文件过大,报400或413错误。建议您减少文件图片或压缩文件大小

标签: angular ionic-framework fetch-api


【解决方案1】:

我也面临同样的问题。现在 ionic 框架已经解决了这个问题。

您只需更新 ionic webview 插件:

首先删除它:

ionic cordova plugin remove cordova-plugin-ionic-webview

然后添加它

ionic cordova plugin add cordova-plugin-ionic-webview

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

为了您的理解: 获取 api 不适用于文件方案或协议。您需要 http 或 https 协议才能使其工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-20
    • 2018-06-16
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多