上传图片功能

 HTML

<img src="img/[email protected]" onclick="browerfile.click()" id="QRCode" />
<input type="file" id="browerfile" style="display: none;" class="test">

JavaScript

var img = '';

	function b64EncodeUnicode(str) {
		return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {
			return String.fromCharCode('0x' + p1);
		}));
	}
	//获取图片路径的方法,兼容多种浏览器,通過createObjectURL实现
	function getObjectURL(file) {
		var url = null;
		if (window.createObjectURL != undefined) {
			url = window.createObjectURL(file); //basic
		} else if (window.URL != undefined) {
			url = window.URL.createObjectURL(file);
		} else if (window.webkitURL != undefined) {
			url = window.webkitURL.createObjectURL(file);
		}

		return url;
	}
	//实现上上传图片功能代码
	$(function () {
		$("#browerfile").change(function (e) {
			var path = browerfile.value;
			var objUrl = getObjectURL(this.files[0]);
			if (objUrl) {
				$('#QRCode').attr("src", objUrl);
			}
			var file = e.target.files[0];
			var reader = new FileReader();
			reader.readAsDataURL(file); // 读出 base64
			reader.onloadend = function () {
				// 图片的 base64 格式, 可以直接当成 img 的 src 属性值        
				img = reader.result;
				// 下面逻辑处理
			};
		})
	})

注意:

<input type="file" accept="image/*;capture=camera">直接调用相机
<input type="file" accept="image/*" />调用相机 图片或者相册
兼容性
手机 UC浏览器 微信浏览器
IOS

支持拍照上传

支持图库选择上上传

支持拍照上传

支持图库选择上传

Android

支持拍照上传

支持图库选择上传

不支持拍照上传

支持图库选择上传

猜你喜欢

转载自blog.csdn.net/qq_36552707/article/details/83894534