この記事の例では、PC上で写真アップロード機能を実現するためのVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="UTF8"> </head> <本文> <div id="コンテンツホルダー"> <video id="video" width="320" height="320" 自動再生></video> <button id="camera">写真を撮る</button> <キャンバスid="キャンバス" 幅="320" 高さ="320"> </キャンバス> </div> <script type="text/javascript"> var ビデオ = document.getElementById('ビデオ'); varトラック; var カメラ = document.getElementById('カメラ'); window.addEventListener("DOMContentLoaded", 関数(){ navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; (ナビゲーターのユーザーメディアを取得する){ ナビゲーター.getUserMedia({video:true}, 関数(ストリーム) { track = stream.getTracks()[0]; // これを使用してカメラをオフにします。video.src = window.URL.createObjectURL(stream); ビデオ.onloadedmetadata = 関数(e) { ビデオを再生します。 }; }, 関数(エラー) { アラート(err.name); } ); } }); Camera.onclick = 関数(){ var キャンバス = document.getElementById('キャンバス'); var context2D = canvas.getContext("2d"); context2D.fillStyle = "#ffffff"; context2D.fillRect(0, 0, 320, 320); context2D.drawImage(ビデオ、0、0、320、320); var image_code = canvas.toDataURL("image/png"); // バックエンドに渡される Base64 コンソール.log(画像コード) if (null != トラック) { track.stop(); //カメラを閉じる} }; </スクリプト> </本文> </html> 上記のコードは、Webページが開かれたときにカメラを呼び出します。 バックエンドに送信されるコードはbase64コードです 以下はVueを使用してバックグラウンドに渡したコードです var パラメータ = { ファイル:image_code2 } var a = JSON.stringify(param); アップロード画像(a)。その後((res) => { コンソールログ(res); }); 以下は私のPHPバックグラウンド受信コードです パブリック関数 uploadImg($name="img",$path='img'){ $_POST = json_decode(file_get_contents('php://input'),true); $パラメータ = $_POST; $image_code = $param['ファイル']; $img = str_replace('data:image/png;base64,', '', $image_code); //base64 コードを取得します $img = str_replace(' ', '+', $img); $data = base64_decode($img); $name = time().".png"; $savepath = "./upload/".$name; //画像が保存される場所 file_put_contents($savepath,$data); //コンテンツをファイルに書き込みます $this->ajaxReturn(array('status'=>'0','data'=>$savepath)); } クリックしてカメラを開くようにしたい場合は、カメラからコードを取得してメソッドに組み込むことができます。 var カメラ = document.getElementById('カメラ'); window.addEventListener("DOMContentLoaded", 関数(){ navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; }); 関数デモ(){ (ナビゲーターのユーザーメディアを取得する){ ナビゲーター.getUserMedia({video:true}, 関数(ストリーム) { track = stream.getTracks()[0]; // これを使用してカメラをオフにします。video.src = window.URL.createObjectURL(stream); ビデオ.onloadedmetadata = 関数(e) { ビデオを再生します。 }; }, 関数(エラー) { アラート(err.name); } ); } } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします
>>: Alibaba Cloud Server Linux システムは Tomcat を構築して Web プロジェクトを展開します
MySQL はネストされたトランザクションをサポートしていますが、それを実行する人は多くありません....
ブラウザ (Web ドライバー) ベースの Selenium テクノロジを使用してデータをクロールす...
目次概要フレームワークを選択する理由は何ですか? js のエンバーEmber.js と Vue.js...
シナリオリクエストが 10 件あるが、同時リクエストの最大数は 5 件で、リクエスト結果が必要である...
目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...
目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...
序文私はプログラマーとしてスタートした PHP プログラマーです。これまで、トレーニング コースで勉...
目次はじめるデータストレージサーバーを構成するRedis セキュリティの管理Redisインストールの...
MySQL バッチ挿入の問題プロジェクトを開発しているときに、古いシステムの基本データを事前にインポ...
目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...
selinux ( Security-Enhanced Linux)は、Linux カーネル モジュ...
tomcat 設定ファイルから、tomcat の起動時にデフォルトで 8080 (8443)、800...
目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...
1. Centos7をダウンロードするダウンロードアドレス: https://mirrors.tun...
この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...