multipart / form-data не работает на ионной iOS - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть проект 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 какой-либо параметр, который необходимо настроить, чтобы разрешить работу сообщений multipart / form-data? Или, может быть, где-то в белый список домена, чтобы разрешить это?

1 Ответ

0 голосов
/ 13 ноября 2018

Оказалось на стороне сервера. Очевидно, PHP получает сообщение не так, как Android, а iOS. $ _REQUEST ["xxxx"] отлично работает для Android, но для работы с обоими требовалось следующее:

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

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

Думаю, я обновлю ответ здесь, если кто-нибудь еще столкнется с этим. Ужасно неясный и занял у меня дни, чтобы выяснить!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...