Как разрешить загрузку PDF файлов на iOS?
Эта проблема
Я создал 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 с помощью одного из редакторов W3School "Try It":
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_file
Что я пробовал
- SSL (расширенная проверка)
- Техническая поддержка Apple (по прошествии пары часов по телефону зашла на сайт Apple Developer)
- Несколько браузеров (iOS Safari, iOS Chrome, iOS Google App)
- Несколько устройств Apple (работает на Mac, не работает на iPhone и iPad)
- Конкурентные платформы (работает на Android)
- iOS 13 beta (работает)
Вопрос
Что-то заставляет серверы W3School и других сайтов вести себя не так, как у меня, при работе с формами на iOS.
Каков фактор на iOS, который определяет, какие сайты/формы могут выбирать файлы без изображений для загрузки?
Ответы
Ответ 1
Вы должны удалить 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/VladimirButakov/pen/XvXxGq?&editable=true
Ответ 2
Я создал веб-страницу, на которой можно получить 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. Если я не ответил на ваш вопрос, можете ли вы быть более конкретным об этом? Спасибо