Как разрешить загрузку PDF файлов на iOS? - программирование

Как разрешить загрузку 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, который определяет, какие сайты/формы могут выбирать файлы без изображений для загрузки?

4b9b3361

Ответ 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. Если я не ответил на ваш вопрос, можете ли вы быть более конкретным об этом? Спасибо