如何在iOS上允许PDF文件上传?

Gra*_*Noe 13 html forms mobile file-upload ios

问题

我已经建立了一个HTML Web表单来上传文件。从iOS设备访问时,当选择“浏览”按钮从iOS文件浏览器中选择文件时,非图像文件(.pdf,.docx等)显示为灰色

我有一个功能齐全的页面(HTML,CSS,JS,PHP),但是我将整个页面剥离为最简单的表单元素来测试功能。这是在运行iOS 12.3的设备上查看时在我的服务器上不起作用的代码示例(这是HTML文件中除了模板标记之外的所有内容):

<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>
Run Code Online (Sandbox Code Playgroud)

你可以看到一个类似的简单工作非图像文件是可选择的例子来自iOS设备与W3School的“实战”的编辑之一:

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(有效)

问题

在iOS上使用表单时,某种原因导致W3School和其他站点的服务器的行为与我的不同。

在iOS上决定哪些网站/表单能够选择非图像文件进行上传的因素是什么?

小智 6

您必须删除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>
Run Code Online (Sandbox Code Playgroud)

这是我更正后的代码示例:https : //codepen.io/VladimirButakov/pen/XvXxGq?&editable=true