読者です 読者をやめる 読者になる 読者になる

みかづきブログ その3

3ヶ月つづけてみました。

Androidのブラウザで写真をアップロードさせたいだけのに、音声レコーダーとか余計なものが表示されるときはaccept属性を見直すと解決することがある

f:id:kimizuka:20160610112809j:plain

<input type="file" accept="image/jpeg, image/png">

という感じでaccept属性を設定して、ファイルをアップロードしようとすると、
一部のAndroid端末で選択肢に何故か音声レコーダーとかも表示されてしまいます。
(しかも機種によっては許可していないgif画像もアップできてしまいます。)


対策

<input type="file" accept="image/*">

と指定すると余計な選択肢が表示されなくなります。
もしもファイルタイプを指定したい場合(gif画像はアップできないようにしたいなど)は、
accept属性をつかうのではなく、アップされたファイルをJS側でバリデートすると良いと思います。
謎挙動ですね。