JS原生实现本地图片上传预览

执行方式如下:
$("input").change(function() {
			var config = {
				imgWrapWidth: 300, //px
				imgWrapHeight: 200, //px
				imgMaxWidth: "100%",
				imgMaxHeight: "100%",
			};
			ImgShow(this, "result", config);
		});

函数:
function ImgShow(arg, showWrapId, config) {
			//input的状态change的时候,执行此函数,需要把input用this的方式传递进来,三个参数必须有
			//arg=this   showWrapId=图片显示框的ID     config=显示框的大小和图片显示的大小
			//图片在显示框中绝对居中
			//config = {
//				imgWrapWidth: 300, //px
//				imgWrapHeight: 200, //px
//				imgMaxWidth: "100%",
//				imgMaxHeight: "100%",
//			};
			var file = arg.files[0];
			if(!/image\/\w+/.test(file.type)) {
				alert("请上传图片!");
			} else {
				var reader = new FileReader();
				//将文件以Data URL形式读入页面  
				reader.readAsDataURL(file);
				reader.onload = function(e) {
					var showWrap = document.getElementById(showWrapId);
					showWrap.style.width = config.imgWrapWidth + "px";
					showWrap.style.height = config.imgWrapHeight + "px";
					showWrap.style.textAlign = "center";
					//显示文件  
					showWrap.innerHTML = "<span style='vertical-align: middle;display: inline-block;height: 100%;'></span>" +
						"<img style='vertical-align: middle;display: inline-block;max-width:" + config.imgMaxWidth + ";max-height:" + config.imgMaxHeight + ";'" +
						" src='" + this.result + "' alt='' />";
				}
			}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值