Я создал веб-форму HTML для загрузки файлов. При доступе с устройства iOS файлы, не являющиеся изображениями (.pdf, .docx и т. д.), отображаются как серый, когда нажата кнопка «Обзор» для выбора файла в проводнике файлов iOS.
У меня есть полнофункциональная страница (HTML, CSS, JS, PHP), но я урезал всю страницу до простейшего элемента формы для проверки функциональности. Вот пример кода, который не работает на моем сервере (это все, что есть в HTML-файле, кроме шаблонных тегов), при просмотре на устройстве под управлением iOS 12.3:
<form action = "" enctype = "multipart/form-data" method = "post">
<input type = "file" accept = "image/*, .heic, .hevc, .heif, .pdf, .png, .gif, .jpg, .jpeg, .doc, .docx, image/png, image/jpg, image/jpeg, image/gif, application/msword, application/pdf" multiple>
</form>
Вы можете увидеть такой же простой пример работающий файлов, не являющихся изображениями, которые можно выбрать с устройства iOS с помощью одного из редакторов «Try It» W3School:
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_file
Что-то заставляет серверы W3School и других сайтов вести себя не так, как у меня, при работе с формами на iOS.
Какой фактор в iOS определяет, какие сайты/формы могут выбирать файлы, не являющиеся изображениями, для загрузки?






Я сделал веб-страницу, которая может получать pdf-файлы и отправлять их в чаты через телеграмм-бота. Я открыл веб-страницу со своего Iphone, просто выбрал PDF-файл и отправил его, и он работал нормально.
Код, который я использовал для входного файла, следующий.
<form action = "inviapdf.php" enctype = "multipart/form-data" method = "post" class = "inputfile">
<input accept = ".png, .jpg, .jpeg" class = "bott" type = "file" name = "pdf"/>
<button>SendPDF</button>
</form>
У меня Iphone 7+ с последней версией iOS. Если я не ответил на ваш вопрос, можете ли вы сказать об этом немного конкретнее? Спасибо
Также я отредактировал свой ответ, чтобы изменить некоторый код для части «принять».
Я бы очень хотел присудить это вам, но центральный вопрос все еще остается без ответа, и это What is the "X" factor on iOS that determines which sites are able to select non-image files on a web form upload? Я дал вам голос, потому что вы помогли мне установить, что это работает на некоторых сайтах (включая, я уверен, ваш) . Теперь я просто сосредоточен на выяснении того, почему сайт, который я создал на сервере, который я использую, нет функционирует как рабочие сайты.
Вы должны удалить image/* и другие image/ типы файлов.
<form action = "" enctype = "multipart/form-data" method = "post">
<input type = "file" accept = ".heic, .hevc, .heif, .pdf, .png, .gif, .jpg, .jpeg, .doc, .docx, application/msword, application/pdf" multiple>
</form>
Вот пример вашего кода с моими исправлениями: https://codepen.io/ВладимирБутаков/pen/XvXxGq?&editable=true
Я проверю это и дам вам знать, что я найду. Любая логика браузера или что-то еще, почему типы файлов «image/» влияют на загрузку без изображений?
В моем тестировании это работает! Я все еще хотел бы знать логику, стоящую за этим, поскольку я не смог найти документацию. Ваш опыт был настоящим спасением жизни сегодня.
Итак, я проверил пример W3School, который вы там разместили, и, как я уже сказал, он работает для меня. Также я проверил его на телефоне моего друга (Iphone X с последней версией IOS), и он работает нормально. Вместо того, чтобы говорить через комментарии, свяжитесь со мной в телеграмме @AScotto133, я могу показать вам свою веб-страницу, чтобы вы могли проверить, работает ли она для вас.