速報

Microsoft 365で接続障害|OutlookやTeams予定表に影響し復旧作業が継続

CATEGORY

【HTML】スマホカメラを起動して写真を撮影する

※本ページのリンクにはプロモーションが含まれています。

【HTML】スマホカメラを起動して写真を撮影する

目次

本記事では、HTMLのフォーム等で、input要素を使ってスマホカメラを起動し、写真を撮影する方法をご紹介しています。

フォームからスマホのカメラを起動して撮影した写真を使用したいな。良い方法ないかな?

上記の疑問にお答えします

では、解説していきます。

スポンサーリンク

inputのaccept属性・capture属性でスマホカメラを起動する

フォームでスマホカメラを起動するには、input要素のcapture属性とaccept属性を使用します。これらを正しく指定することで、スマホのカメラを使用して写真を撮影することができるようになります。

accept属性

accept属性は、inputのtype属性の値にfileを指定した際にのみ有効な属性です。値にはファイル入力で受け付けるファイルタイプを指定します。

audio/*音声ファイル
video/*ビデオファイル
image/*画像ファイル
ファイル拡張子.jpgや.pdfといった拡張子で取り扱うファイル
MIMEタイプ有効なMIMEタイプで拡張子のないものtext/plain等

capture属性

caputure属性は、accept属性で画像もしくは動画ファイルを指定した場合に、どのカメラを使用して撮影をするかを指定することができます。正しく指定されていない場合はfilesystem(ウィンドウズでいうエクスプローラー)が起動します。

cameraカメラ
camcorderビデオカメラ
microphone音声レコーダー
filesystemファイル選択システム

上記の2つの属性を使って、フォームでスマホカメラを起動して写真を撮影することができます。

フォームでスマホカメラを起動して写真を撮影する

前項でご紹介した内容を使って、スマホカメラを起動してみます。ここでは画像を取り扱うため、accept属性にはimage/*を、caputure属性にはcameraを指定します。

HTML

<label for="upload">写真を撮影してアップロードする</label>
<input id="upload" type="file" name="image" accept="image/*" capture="camera">

実行結果は下記の通りです。スマホでアクセスして要素をクリックするとカメラが起動するかと思います。もしカメラが有効でない場合はファイル選択が起動します。

See the Pen 7588 by ryohei (@intotheprogram) on CodePen.

これでフォームでスマホカメラを起動して写真を撮影することができます。以降の処理については、ファイルアップロードと同様に撮影したファイルを扱うことができます。

スポンサーリンク

最後に

クライアントからスマホカメラで撮影したファイルを取り扱いたい要望があり、本記事の内容をまとめました。これまで触れたことのない処理なので、どんな風に実装するのかワクワクして調べまていたのですが、inputのfileで実現できるとは……驚きです。HTMLはどんどん使いやすく進化していますし、今後も発展していくでしょうから、新しい技術で知識をアップデートしていきたいところですね。

以上、HTMLでスマホカメラを起動して写真を撮影する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク