Как разрешить загрузку PDF-файлов на iOS? - PullRequest
12 голосов
/ 30 мая 2019

Проблема

Я создал веб-форму 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.

Что такое фаctor на iOS, который определяет, какие сайты / формы могут выбирать файлы без изображений для загрузки?

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Я создал веб-страницу, на которой можно получать файлы 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. Если я не ответил на ваш вопрос, можете ли вы быть более конкретным об этом? спасибо

1 голос
/ 23 июля 2019

Вы должны удалить 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

...