首先需要在页面添加HTML5控件 capture="camera" 这样就可以在android5.0 或则 IOS 9.0 以上直接拉起照相机,但是这些版本之下的手机只能调用相册选择
οnchange="ImgChange(this)">
引入3个插件:
//图片上传校验
//照相后自动旋转 这个很有用
//正在上传的遮盖层
打开摄像头代码:
//拍照
function cameraImg() {
document.getElementById("imgcamera").value = ""; //上传文件时先把file类型input清空下
$("input[id='imgcamera']").click();
}
拍照后图片处理代码如下,主要是先做图片旋转,有些手机拍照后显示图片是偏转的,需要自己先调整正确角度,在进行图片缩放,最后是压缩处理。
function ImgChange(imgdata) {
var _this = imgdata,
_file = _this.files[0],
fileType = _file.type;
console.log(_file.size);
//图片方向角 added by lzk
var Orientation = "";
if (/image\/\w+/.test(fileType)) {
EXIF.getData(_file, function () {
EXIF.getAllTags(this);
Orientation = EXIF.getTag(this, 'Orientation');
});
var fileReader = new FileReader();
fileReader.readAsDataURL(_file);
fileReader.onload = function (event) {
var result = event.target.result; //返回的dataURL
v