ファイルをアップロードするためのHTML Webフォームを作成しました。 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>
W3Schoolの「試してみる」エディターの1つを使用して、iOSデバイスから選択可能な非画像ファイルの同様に単純な作業の例を確認できます。
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_file
何かが原因で、W3Schoolや他のサイトのサーバーは、iOSでフォームを操作するときに私のサーバーとは異なる動作をします。
アップロードする画像以外のファイルを選択できるサイト/フォームを決定するiOS上の要因は何ですか?
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
PDFファイルを取得し、電報ボットを介してチャットに送信できるWebページを作成しました。 IphoneからWebページを開いて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>
私は最新のIOSリリースのIphone 7+を持っています。あなたの質問に答えなかった場合、それについてもう少し具体的に説明できますか?