H5技术完美实现调用手机摄像头、相册。图片上传base64,图片压缩、预览、删除以及图片旋转90度的处理--demo。
2017-08-16 23:50
2591 查看
看了帖子上有很多关于H5调用手机摄像头、相册的例子,也有很多可靠的栗子,综合技术点针对HTML5调用用手机相机、相册的的一次代码整合。实现提供完成的Demo提供给大家,可直接应用于项目中需要图片上传的功能。因为是H5直接调用,并没有用到像Cordova或者HTML5Plus的 JavaScript库去调用手机硬件,极少数低端手机可能会调用不到摄像图、或者相册
代码部分示例解释,具体参考附Demo:
1、图片可多选择在type=“file”中属性加上multiple=”multiple” 即可。
<input type="file" multiple="multiple" id="files_upload1" style="opacity: 0;width: 0;"/>
2、图片压缩:
在选择图片完成需要进行图片压缩,不然有得图片大致1到2M,耗流量。这就没追求了更别说爱了。这里压缩机制使用画布:canvas.toDataURL();
3、图片上传:
获取base64字符,这里已经图片选择,转base64字符进行处理。
4、不少部门机型图片拍照或者选择图片好了,图片被旋转了90或者180度,这里我发现过。使用exif.js 对图片进行处理。如果还有小问题,微笑解决。
5、图片预览以及删除
图片预览:在获取图片的基础上展示图片即可
图片删除:图片选择好了会保存到一个数组,删除图片便是移除数组中指定base64字符即可。
附件Demo提供下载学习,希望能帮助大家。
http://download.csdn.net/download/china_guanq/9937333
QQ群:595377655。问题总是能出现并着手解决的地方,欢迎加入。
相关文章推荐
- HLMT5中input实现多种文件上传,视频上传,图片上传,调用手机摄像头,照相机,相册功能
- H5调用手机的摄像头拍照上传以及手机相册选取照片
- H5调用手机的摄像头拍照上传以及手机相册选取照片但不支持Android的分析
- Vue2.0实现调用摄像头进行拍照功能以及图片上传功能引用exif.js(2)
- 前端input图片的上传和压缩以及图片旋转90度问题解决
- file上传图片,base64转换、压缩图片、预览图片、将图片旋转到正确的角度
- JS前端上传图片、压缩、并且处理旋转问题,生成base64数据
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- 完美解决部分安卓手机调用系统拍照上传时图片旋转问题
- (转)iPhone图片处理:摄像头/相册获取图片,压缩图片,上传服务器,下载,拉伸,方法总结
- vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
- input type=file实现图片上传,预览以及图片删除
- Vue directive自定义指令+canvas实现H5图片压缩上传-Base64格式
- Vue2.0 引用 exif.js 实现调用摄像头进行拍照功能以及图片上传功能
- h5调用手机相册摄像头以及文件夹
- 关于部分手机调用系统拍照和相册图片出现旋转问题处理
- vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
- 调用摄像头和相册,从相册中选择(含有google发布的图片压缩以及自己的图片截取)
- JS实现图片base64转blob对象,压缩图片,预览图片,图片旋转到正确角度
- [置顶] JS、H5调用手机相册摄像头以及文件夹