我有一个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中是否有一些需要配置的设置才能允许多部分/表单数据发布工作?还是在某个地方将域名列入白名单?
答案 0 :(得分:0)
原来是在服务器端。显然,PHP收到的帖子不同于Android,就像iOS。 $ _REQUEST [“ xxxx”]在Android上可以正常使用,但要同时适用于这两者,则需要这样做:
$postdata = file_get_contents("php://input");
parse_str($postdata, $param);
// then available as $param["xxxx"]
如果其他任何人遇到这个问题,我想在这里更新答案。太晦涩了,花了我几天时间才弄清楚!