H5实现手机拍照和选择上传功能


Posted in Javascript onDecember 18, 2019

本文实例为大家分享了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" >
 <link rel="stylesheet" type="text/css" href="../../css/app.css" />
 <link rel="stylesheet" type="text/css" href="../../css/icons-extra.css" />
 <link rel="stylesheet" type="text/css" href="../../css/mui.picker.min.css" >
 </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端就是浏览文件上传,手机端可进行拍照功能。

H5实现手机拍照和选择上传功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js对象转json数组的简单实现案例
Feb 28 Javascript
node.js中使用socket.io的方法
Dec 15 Javascript
DeviceOne 让你一见钟情的App快速开发平台
Feb 17 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
Sep 01 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
如何使用webpack打包一个库library的方法步骤
Dec 18 #Javascript
js实现上传图片并显示图片名称
Dec 18 #Javascript
js实现多图和单图上传显示
Dec 18 #Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
Dec 18 #Javascript
微信小程序实用代码段(收藏版)
Dec 17 #Javascript
微信小程序修改数组长度的问题的解决
Dec 17 #Javascript
微信小程序利用云函数获取手机号码
Dec 17 #Javascript
You might like
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
Javascript this 的一些学习总结
2012/08/02 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
python logging类库使用例子
2014/11/22 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
python 操作hive pyhs2方式
2019/12/21 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
Django url 路由匹配过程详解
2021/01/22 Python
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
本科毕业生的求职信范文
2013/11/20 职场文书
中学教师自我鉴定
2014/02/07 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
先进班集体申报材料
2014/12/26 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
实习指导老师意见
2015/06/04 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
用python实现监控视频人数统计
2021/05/21 Python