Ответ 1
Это была ошибка в iOS 8.0.0 и была исправлена в 8.0.2. Тело файла не включено в полезную нагрузку запроса, но Content-Length
устанавливается так, как будто оно есть.
См. сообщение в блоге Загрузка файлов в Safari на iOS 8.
ОБНОВЛЕНИЕ:
Подтверждено: это исправлено в обновлении iOS 8.0.2.
Использование PUT/POST для загрузки файлов по HTTP, похоже, застревает в заголовках отправляющих запросов на мобильном Safari на сборке iOS 8 GM.
У меня есть пример здесь:
В этом случае даже на http://m.facebook.com
- Попытайтесь добавить фотографию к своему статусу и не получится.
Это происходит только тогда, когда запрос содержит файл. Это воспроизводимо, независимо от того, что во входном файле включено несколько отключенных/отключенных. Загружает работу в Chrome на iOS 8.
Кто-нибудь еще испытал это? Есть ли способ успешно отправлять файлы через HTTP на iOS 8 Safari?
Это была ошибка в iOS 8.0.0 и была исправлена в 8.0.2. Тело файла не включено в полезную нагрузку запроса, но Content-Length
устанавливается так, как будто оно есть.
См. сообщение в блоге Загрузка файлов в Safari на iOS 8.
Обновление: Вчера 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/
Мы видим похожие проблемы в WordPress. Все загрузки iOS8 GM приводят к 408 (статус http, таймауты). Как ни странно, iOS8b5 привел к ошибке-500. Загружаемые файлы являются персиковыми до 7.1. *.
Фактически, загрузка файла работает отлично на IOS 8 (сафари), если изображение происходит от снимка экрана, а не от камеры iphone. Например, если вы снимаете фото с камеры на iphone и пытаетесь загрузить файл через браузер (input type = file), он отправит пустые данные
src: "data:",
в то время как если вы отправите одно и то же изображение на свой адрес электронной почты и загрузите его из своей электронной почты и загрузите его снова, он будет работать или если вы сделаете снимок экрана, он будет работать как ниже ЦСИ: "данные: изображение /JPEG; base64,/9J/4AAQSkZJRgABAQAASABIAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs + EJ +/8AAEQgGYATIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkK.... # ... "
Любая идея или подсказка, пожалуйста, нам известно. Angloar JS используется для загрузки файлов и NodeJS на сервере С Уважением, Алан Мехио