H5实现手机拍照和选择上传功能
本文实例为大家分享了H5手机拍照和选择上传的具体代码,供大家参考,具体内容如下
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. 参数解析:
1. accept 属性(允许上传两种文件类型:gif 和 jpeg)
2. capture 捕获到系统默认的设备,有三个参数值可设置
3. camera--照相机;camcorder--摄像机; microphone--录音
4. js代码做了封装, 参数一表示 "选择文件"的 id,参数二表示 "显示图片" 的 id,
5. 若是 ios 只能调用摄像头,不能选择打开相册的话,就把这个【capture="camera"】去掉,直接加一个属性 multiple
6. file 表示你选中的那个图片,然后它里面有几个属性 name、size、type、slice等,也都非常实用,
7. FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。
8. 调用 FileReader 的 readAsDataURL 接口,将启动异步加载文件内容,通过给 reader 监听一个 onload 事件,
9. 将数据加载完毕后,在onload事件处理中,通过 event 的 result 属性即可获得文件内容,然后扔进 img 的 src 即可 打开图片并预览。
3. 效果展示:
点击拍照的图标,如果在web端就是浏览文件上传,手机端可进行拍照功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:利用JS如何获取form表单数据
栏 目:JavaScript
本文标题:H5实现手机拍照和选择上传功能
本文地址:https://www.xiuzhanwang.com/a1/JavaScript/9465.html
您可能感兴趣的文章
- 04-02java后端代码分页 java后端实现分页page
- 01-10Echarts实现单条折线可拖拽效果
- 01-10在Vue项目中使用Typescript的实现
- 01-10js实现上传图片并显示图片名称
- 01-10Vue中使用Lodop插件实现打印功能的简单方法
- 01-10echarts实现折线图的拖拽效果
- 01-10d3.js实现图形缩放平移
- 01-10小程序简单两栏瀑布流效果的实现
- 01-10Echarts实现多条折线可拖拽效果
- 01-10js通过循环多张图片实现动画效果
阅读排行
本栏相关
- 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(织梦)副栏目数量限制代码修改
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 01-10SublimeText编译C开发环境设置
- 01-11ajax实现页面的局部加载
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10C#中split用法实例总结
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文