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数据并将json字符串转化为数组的实现方法
Dec 25 Javascript
编写针对IE的JS代码两种编写方法
Jan 30 Javascript
jquery 模板的应用示例
Nov 12 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
Nov 05 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
Angular 4依赖注入学习教程之简介(一)
Jun 04 Javascript
基于webpack.config.js 参数详解
Mar 20 Javascript
JavaScript+H5实现微信摇一摇功能
May 23 Javascript
微信小程序实现watch监听
Jun 04 Javascript
JavaScript Array.flat()函数用法解析
Sep 02 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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图片上传程序
2008/03/27 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
php格式化电话号码的方法
2015/04/24 PHP
php session 写入数据库
2016/02/13 PHP
PHP静态成员变量
2017/02/14 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
python字典get()方法用法分析
2015/04/17 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
python命令行参数用法实例分析
2019/06/25 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python进行特征提取的示例代码
2020/10/15 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
会计专业毕业生自荐书
2014/06/25 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
党支部审查意见
2015/06/02 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers