accept属性
属性名 | バージョン | 属性値 | 既定値 | 備考 |
---|---|---|---|---|
accept | 4.0, X1.0, X1.1 | %ContentTypes; | #IMPLIED | list of MIME types for file upload |
acceptの解説
input要素に type="file" を指定すると、ファイルアップロードコントロールになります。基本的には、このコントロールはあらゆる種類のファイルをアップロードすることができます。
しかし、たとえば写真をアップロードするシステムでは、画像以外のファイルをアップロードしても意味がありません。そのような場合、「画像だけアップロードできる」という指定をしたくなります。そのような指定をするのが、この accept属性です。たとえば、JPEG と PNG だけアップロードしてもらいたいような場合は、以下のように指定します。
<input name="imgfile" type="file" accept="image/jpeg,image/png">
ブラウザ側では、JPEG でも PNG でもないファイルが指定されたら警告のダイアログを出す、というような挙動が期待されます。
しかし、この属性に対応しているブラウザはほとんどありません。また、これはあくまでクライアント側のチェックでしかありませんので、サーバ側でファイルタイプをチェックしないと大変なことが起きる場合があります。
なお、この属性は input要素だけでなく form要素にも指定可能です。form要素に指定された場合、中身の全ての input type="file" に対して機能する……ことが期待されます。
- 「accept属性」にコメントを書く