H5實現(xiàn)手機拍照和選擇上傳功能
本文實例為大家分享了H5手機拍照和選擇上傳的具體代碼,供大家參考,具體內(nèi)容如下
1. html/ js代碼:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta http-equiv="Access-Control-Allow-Origin" content="*" /> <link rel="stylesheet" href="../../css/mui.min.css" rel="external nofollow" > <link rel="stylesheet" type="text/css" href="../../css/app.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../../css/icons-extra.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../../css/mui.picker.min.css" rel="external nofollow" > </head> <body onload="startTime()"> <div class="mui-card" style="height: 20%;"> <div class=" mui-card-media"> <img class="a" id="img" /> <label for="myFile"> <span id="format" class="a mui-icon mui-icon-camera" style="font-size: -webkit-xxx-large;"></span> </label> <input style="display: none;" type="file" capture="camera" id="myFile" onchange="upload('#myFile', '#img');" /> </div> </div> <script src="../../js/mui.js"></script> <script src="../../js/mui.picker.min.js"></script> <script src="../../js/host.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> /**拍照 * @param {Object} c * @param {Object} d */ var upload = function(c, d) { "use strict"; var $c = document.querySelector(c), $d = document.querySelector(d), file = $c.files[0], picPath = $c.value, reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(e) { $d.setAttribute("src", e.target.result); }; localStorage.setItem('picPath', picPath); }; </script> </html>
2. 參數(shù)解析:
1. accept 屬性(允許上傳兩種文件類型:gif 和 jpeg)
2. capture 捕獲到系統(tǒng)默認(rèn)的設(shè)備,有三個參數(shù)值可設(shè)置
3. camera--照相機;camcorder--攝像機; microphone--錄音
4. js代碼做了封裝, 參數(shù)一表示 "選擇文件"的 id,參數(shù)二表示 "顯示圖片" 的 id,
5. 若是 ios 只能調(diào)用攝像頭,不能選擇打開相冊的話,就把這個【capture="camera"】去掉,直接加一個屬性 multiple
6. file 表示你選中的那個圖片,然后它里面有幾個屬性 name、size、type、slice等,也都非常實用,
7. FileReader作為文件API的重要成員用于讀取文件,根據(jù)W3C的定義,F(xiàn)ileReader接口提供了讀取文件的方法和包含讀取結(jié)果的事件模型。
8. 調(diào)用 FileReader 的 readAsDataURL 接口,將啟動異步加載文件內(nèi)容,通過給 reader 監(jiān)聽一個 onload 事件,
9. 將數(shù)據(jù)加載完畢后,在onload事件處理中,通過 event 的 result 屬性即可獲得文件內(nèi)容,然后扔進(jìn) img 的 src 即可 打開圖片并預(yù)覽。
3. 效果展示:
點擊拍照的圖標(biāo),如果在web端就是瀏覽文件上傳,手機端可進(jìn)行拍照功能。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
欄 目:JavaScript
本文標(biāo)題:H5實現(xiàn)手機拍照和選擇上傳功能
本文地址:http://mengdiqiu.com.cn/a1/JavaScript/9465.html
您可能感興趣的文章
- 04-02java后端代碼分頁 java后端實現(xiàn)分頁page
- 01-10Echarts實現(xiàn)單條折線可拖拽效果
- 01-10在Vue項目中使用Typescript的實現(xiàn)
- 01-10js實現(xiàn)上傳圖片并顯示圖片名稱
- 01-10Vue中使用Lodop插件實現(xiàn)打印功能的簡單方法
- 01-10echarts實現(xiàn)折線圖的拖拽效果
- 01-10d3.js實現(xiàn)圖形縮放平移
- 01-10小程序簡單兩欄瀑布流效果的實現(xiàn)
- 01-10Echarts實現(xiàn)多條折線可拖拽效果
- 01-10js通過循環(huán)多張圖片實現(xiàn)動畫效果


閱讀排行
本欄相關(guān)
- 04-02javascript點線,點線的代碼
- 04-02javascript潛力,javascript強大嗎
- 04-02javascript替換字符串,js字符串的替換
- 04-02javascript移出,js 移入移出
- 04-02包含javascript舍的詞條
- 04-02javascript并行,深入理解并行編程 豆瓣
- 04-02javascript匿名,js匿名方法
- 04-02javascript警報,JavaScript警告
- 04-02javascript遮蓋,JavaScript遮蓋PC端頁面
- 04-02javascript前身,javascript的前身
隨機閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實例總結(jié)
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文