通过回调函数实现多张图片上传(base64)

js:

//监听图片上传并保存base64
	$(function() {

		$("#file1")
				.bind(
						'input propertychange',
						function() { //监听输入内容改变
							for (var a = 0; a < document
									.getElementById("file1").files.length; a++) {
								uploadFile(document.getElementById("file1").files[a])
										.then(//图片解析成功之后的回调
												function(result) {

													$("#headPhone")
															.append(
																	"<img width='60%' src='"
																			+ result
																			+ "' style='display: block' id='imgWait"
																			+ a
																			+ "' />");

												});
								//var file = document.getElementById("file1").files[a];   //file.type  获取图片类型
							}

						});

	})
	function uploadFile(file) {
		return new Promise(function(resolve, reject) {
			var reader = new FileReader();
			var AllowImgFileSize = 2100000; //上传图片最大值(单位字节)( 2 M = 2097152 B )超过2M上传失败
			var imgUrlBase64;
			if (file) {
				//将文件以Data URL形式读入页面  
				imgUrlBase64 = reader.readAsDataURL(file);
				reader.onload = function(e) {
					//var ImgFileSize = reader.result.substring(reader.result.indexOf(",") + 1).length;//截取base64码部分(可选可不选,需要与后台沟通)
					if (AllowImgFileSize != 0
							&& AllowImgFileSize < reader.result.length) {
						layer.msg('上传失败,请上传不大于2M的图片!');
						return;
					} else {
						resolve(reader.result) //this.result
					}
				}
			}

		})
	}
//保存图片
//提交数据
	function save() {

		var tempSrc = "";
		var imglist = $("#headPhone img");
		for (var i = 0; i < imglist.length; i++) {
			tempSrc += imglist[i].src + "|";
		}
	}

html:

<div id="headPhone" style="float: left">
					<span class="upPhone"><b class='text'>+</b><input
						type="file" id="file1" multiple accept="image/*" value="点击更换头像"
						style="opacity: 0;" /></span>
				</div></li>

以上就可以实现图片多张上传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值