フォームをjpegファイルのみを受け入れるように制限するにはどうすればよいですか?これで、すべてのファイルが表示されます。
<input name="image" type="file" />
そして、進捗状況を表示するjavascriptメソッドはありますか?
input タグには accept 属性がありますが、すべてのブラウザーでサポートされているわけではありません。次に例を示します。
<input type="file" name="image" id="image" accept="image/jpeg" />
これは最初のチェックになる可能性がありますが、ファイルを受け入れるときにメインのチェックがサーバー上にある必要があります。
jpeg ファイルのみを受け入れるようにフォームを制限するにはどうすればよいですか
ほとんどの場合、できません。サーバーでチェックする必要があります(クライアントでチェックできたとしても、とにかく行う必要があります。クライアント側の検証を信頼することはできません)。しかし、状況は改善しています。W3C からの新しいファイル API が急速に普及しています。これは、それをサポートするブラウザー (現時点では主に Firefox。これは Mozilla のイニシアチブでした) で使用できます。ブラウザ。
Edit And Gert G は、ブラウザーにヒントを与えることができる属性がここにあることを指摘しています。これは、それをサポートするブラウザーにとって便利です。accept
進行状況を表示する JavaScript メソッドはありますか?
直接ではありません。アップロードと並行して時間指定された一連の ajax リクエストを使用し、サーバーにこれまでの受信量を通知させることで、進行状況を間接的に示すことができる場合もありますが、これには困難が伴い、おそらく気にする価値はありません。
これは、ファイル API が役立つもう 1 つの領域ですが、プロセスにかなりの遅延が発生したことに気付くかもしれません: 基本的に、ファイルのチャンクをローカルで読み取り、それを ajax 経由でサーバーに送信し、進行状況を更新し、読み取り次のチャンクなどを送信します。
もちろん、プロプライエタリなものを使用したい場合は、SWFUploadのような進行状況などを表示する Flash アップローダーがあります (ただし、信じられないほど普及しています)。(フラッシュ、つまり。)
特定のファイルの種類を表示するための純粋な HTML の方法はなく、簡単な JavaScript の方法もありません。
私は FancyUpload と呼ばれるパッケージを使用しています: http://digitarald.de/project/fancyupload/は、この部分を処理します。また、要求どおりにダウンロードの進行状況バーが表示されます。
私が投稿したアップローダには、MooTools と呼ばれる JavaScript フレームワークを含める必要があることに注意してください。jQuery (uploadify など) または別のフレームワークを好む場合は、他の同様のアップローダーを利用できます。
サーバー側も確認してください。
<input name="image" type="file" accept="image/jpeg">
ユーザーの選択を制限するために使用できます。ただし、サーバー内のファイルの種類を確認する必要があります。
アップロードを開始しないと進行状況を表示できないことは明らかなので、アップロードの状態でクライアントを最新の状態に保つサーバー側の API を最初に探す必要があります。javascirpt プログレス バーに関しては、すべての JavaScript ライブラリに 1 つ、たとえばjquery プログレス バーがあります。