HTML5调用照相机并自定义显示获取到的图片(FileReader)
来源:互联网 发布:js点击加载更多的例子 编辑:程序博客网 时间:2024/06/01 10:47
越来越多的移动端网页流行,在手机上拍摄照片或者从相册中选取照片并上传的功能不可或缺。本文以实例说明上述功能如何实现,并介绍FileReader对象。
1. 需求
如下图,点击有加号的框,拍摄或者从相册中选择照片后,将图片显示在框中。
2. 代码
(1) 调用手机拍照和选择照片
<div className="image-uploader"> <input id="imgInput" className="imgInput" type="file" accept="image/*" /> <img id="imgShow" className="imgShow" src="#" alt="" /> <img className="camera" src={cameraImage} alt="" /> <img className="plus" src={plusImage} alt="" /> </div>
CSS思路是把input框,也就是实际的可点击的做成和外框一样大,并且设置opacity:0,放在最上层。#imgShow也需要和外框一样大,显示获取的图片。
(2) 显示图片
监听input的change事件,实例化FileRead对象,将内容读取到内存中。加载结束后,触发onload事件,通过其result属性访问图片数据。
$('#imgInput').change(function () { readURL(this);});readURL function(input){ if (input.files && input.files[0]) { const reader = new FileReader(); reader.readAsDataURL(input.files[0]); reader.onload = (e) => { $('#imgShow').attr('src', e.target.result); }; } }
3. 关于FileReader
(1) FileReader对象方法
FileReader对象方法有4种,有3种用来读取文件,1种用来中断读取。方法不会返回读取结果,而是将结果存储在result属性中,如果读取失败result的值为null。
上例中,使用readAsDataURL的方式,读取图片路径。
(2) 事件
参考:
https://www.w3.org/TR/file-upload/#FileReaderSync
https://www.html5rocks.com/zh/tutorials/file/dndfiles/
http://blog.csdn.net/jackfrued/article/details/8967667
阅读全文
0 0
- HTML5调用照相机并自定义显示获取到的图片(FileReader)
- 使用 html5 FileReader 获取图片, 并异步上传到服务器
- 使用html5 FileReader获取图片,并异步上传到服务器(不使用iframe)
- android调用系统照相机并保持图片到本地
- 调用照相机与图片库并实现保存图片到图片库
- html5的FileReader实现图片上传预览并生成base64
- 调用设备的照相机和获取本地的图片
- Android 调用照相机,获取的图片太小
- Android 调用照相机,获取的图片太小
- FileReader:读取本地图片文件并显示
- FileReader:读取本地图片文件并显示
- FileReader:读取本地图片文件并显示
- FileReader:读取本地图片文件并显示
- FileReader:读取图片文件并显示
- FileReader:读取本地图片文件并显示
- FileReader 获取图片BASE64 代码 并预览
- html5 调用手机相册并显示多图片
- HTML5 FileReader详解与实例---读取并显示图像文件
- Hibernate 实体级联配置(one-to-one,many-to-one,many-to-many)
- ffmpeg批量转换wav到MP3
- UDP协议及URL
- jquery属性过滤器
- C/C++安全编程规范及一些代码静态安全检测工具
- HTML5调用照相机并自定义显示获取到的图片(FileReader)
- 使用C/C++实现Socket聊天程序
- Qt编程环境搭建
- C++ 宏定义
- Jquery选择器总结二
- HDS
- 21. Merge Two Sorted Lists
- mysql主从配置
- 类的继承