h5 調(diào)用攝像頭 回顯照片

<!DOCTYPE html>

<html lang="en">

<head>

? ? <meta charset="UTF-8">

? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">

? ? <meta http-equiv="X-UA-Compatible" content="ie=edge">

? ? <title>Document</title>

</head>

<body>

? ? <input id="fileBtn" type="file" onchange="upload('#fileBtn', '#img');" accept="image/*" capture="camera"/>

? ? <img src="" id="img"/>

? ? <!-- # 解析

? ? # accept 屬性(允許上傳兩種文件類型:gif 和 jpeg)

? ? # capture 捕獲到系統(tǒng)默認(rèn)的設(shè)備,有三個(gè)參數(shù)值可設(shè)置? camera--照相機(jī); camcorder--攝像機(jī); microphone--錄音

? ? # js代碼我做了封裝, 參數(shù)一表示 "選擇文件" 的 id,參數(shù)二表示 "顯示圖片" 的 id,

? ? # 若是 ios 只能調(diào)用攝像頭,不能選擇打開相冊的話,就把這個(gè)【capture="camera"】去掉,直接加一個(gè)屬性 multiple -->

? ? <script>

? ? ? ? var upload = function(c, d){

? ? ? ? ? ? "use strict";

? ? ? ? ? ? var $c = document.querySelector(c),

? ? ? ? ? ? ? ? $d = document.querySelector(d),

? ? ? ? ? ? ? ? file = $c.files[0],

? ? ? ? ? ? ? ? reader = new FileReader();

? ? ? ? ? ? reader.readAsDataURL(file);

? ? ? ? ? ? reader.onload = function(e){

? ? ? ? ? ? ? ? $d.setAttribute("src", e.target.result);

? ? ? ? ? ? };

? ? ? ? };

? ? ? ? // # 解析

? ? ? ? // # 參數(shù)在上面 HTML 就已經(jīng)講解了,

? ? ? ? // # file 表示你選中的那個(gè)圖片,然后它里面有幾個(gè)屬性 name、size、type、slice等,也都非常實(shí)用,

? ? ? ? // # FileReader作為文件API的重要成員用于讀取文件,根據(jù)W3C的定義,F(xiàn)ileReader接口提供了讀取文件的方法和包含讀取結(jié)果的事件模型。

? ? ? ? // # 調(diào)用 FileReader 的 readAsDataURL 接口,將啟動異步加載文件內(nèi)容,通過給 reader 監(jiān)聽一個(gè) onload 事件,

? ? ? ? // # 將數(shù)據(jù)加載完畢后,在onload事件處理中,通過 event 的 result 屬性即可獲得文件內(nèi)容,然后扔進(jìn) img 的 src 即可 打開圖片并預(yù)覽。

? ? </script>

</body>

</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容