Загрузка файлов через HTTP не выполняется на iOS 8.0.0. GM Safari

ОБНОВЛЕНИЕ:
Подтверждено: это исправлено в обновлении iOS 8.0.2.

Использование PUT/POST для загрузки файлов по HTTP, похоже, застревает в заголовках отправляющих запросов на мобильном Safari на сборке iOS 8 GM.

У меня есть пример здесь:

  • Откройте монитор HTTP на рабочем столе и проведите маршрутизацию устройства iOS 8 через него
  • Вход
  • Добавить файл
  • Хит загрузки
  • Он застревает при инициализации (который отправляет заголовки запросов)

В этом случае даже на http://m.facebook.com
- Попытайтесь добавить фотографию к своему статусу и не получится.

Это происходит только тогда, когда запрос содержит файл. Это воспроизводимо, независимо от того, что во входном файле включено несколько отключенных/отключенных. Загружает работу в Chrome на iOS 8.

Кто-нибудь еще испытал это? Есть ли способ успешно отправлять файлы через HTTP на iOS 8 Safari?

Ответы

Ответ 1

Это была ошибка в iOS 8.0.0 и была исправлена ​​в 8.0.2. Тело файла не включено в полезную нагрузку запроса, но Content-Length устанавливается так, как будто оно есть.

См. сообщение в блоге Загрузка файлов в Safari на iOS 8.

Ответ 2

Обновление: Вчера Apple выпустила iOS 8.0.2 и исправила ошибку загрузки.

Загрузка файлов нарушена в iOS 8.0. Все файлы, загруженные в Mobile Safari, возвращают 0-размер [1].

Надеюсь, это будет исправлено Apple в следующем выпуске. Похоже, что это не затрагивает веб-страницы на главном экране, хотя:

Загрузка файлов нарушена! Каждая загрузка файла не работает, вы можете выбрать файл или сделать снимок, и после этого JavaScript не получит никаких данных, а также сервер при загрузке POST через загрузку HTML или XMLHttpRequest. Проблема, похоже, не применяется для веб-экранов на главном экране.

Источник: http://www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers

[1] http://blog.fineuploader.com/2014/09/10/ios8-presents-serious-issues-that-prevent-file-uploading/

Ответ 3

Мы видим похожие проблемы в WordPress. Все загрузки iOS8 GM приводят к 408 (статус http, таймауты). Как ни странно, iOS8b5 привел к ошибке-500. Загружаемые файлы являются персиковыми до 7.1. *.

https://core.trac.wordpress.org/ticket/29602#comment:17

Ответ 4

Фактически, загрузка файла работает отлично на IOS 8 (сафари), если изображение происходит от снимка экрана, а не от камеры iphone. Например, если вы снимаете фото с камеры на iphone и пытаетесь загрузить файл через браузер (input type = file), он отправит пустые данные
src: "data:",

в то время как если вы отправите одно и то же изображение на свой адрес электронной почты и загрузите его из своей электронной почты и загрузите его снова, он будет работать или если вы сделаете снимок экрана, он будет работать как ниже ЦСИ: "данные: изображение /JPEG; base64,/9J/4AAQSkZJRgABAQAASABIAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs + EJ +/8AAEQgGYATIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkK.... # ... "

Любая идея или подсказка, пожалуйста, нам известно. Angloar JS используется для загрузки файлов и NodeJS на сервере С Уважением, Алан Мехио