multipart / form-data在离子iOS上不起作用

时间:2018-11-06 00:21:44

标签: ios http post ionic-framework

我有一个ionic 3项目,可以将文件上传到服务器。以下代码在Android上运行正常。但是在iOS上,它似乎被阻止了(即,在两种情况下,/ upload.php上的服务器代码显然是相同的,但是来自iOS的服务器代码未接收到任何发布的数据)。

this.http.setDataSerializer('urlencoded');
this.http.post("http://example.com/upload.php", {
  name: this.filename,
  data: this.datafile
}, {"Content-Type":"multipart/form-data"})
.then(res => {
  console.log('success response: ' + res.data); 
}, error => {
  console.log(error: ' + error);
});

有什么想法吗?

xCode中是否有一些需要配置的设置才能允许多部分/表单数据发布工作?还是在某个地方将域名列入白名单?

1 个答案:

答案 0 :(得分:0)

原来是在服务器端。显然,PHP收到的帖子不同于Android,就像iOS。 $ _REQUEST [“ xxxx”]在Android上可以正常使用,但要同时适用于这两者,则需要这样做:

$postdata = file_get_contents("php://input");
parse_str($postdata, $param);

// then available as $param["xxxx"]

如果其他任何人遇到这个问题,我想在这里更新答案。太晦涩了,花了我几天时间才弄清楚!