h5 formData多张图片上传预览

本文介绍了一个使用HTML和jQuery实现的简单图片上传示例。该示例通过一个蓝色按钮触发文件选择对话框,并允许用户上传多个图片文件。上传的图片会进行格式验证,确保为常见的图片格式(如.jpg、.gif、.png、.bmp),然后通过Ajax发送到服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
	<title>上传图片</title>
	<script src="https://unpkg.com/jquery@3.1.0/dist/jquery.min.js"></script>
</head>

<style>
	#container {
		width: 100%;
		margin-top: 40px;
		position: relative;
	}

	#container>.shangchuan {
		width: 200px;
		height: 100px;
		background: blue;
		color: #fff;
		font-size: 16px;
		position: relative;
		line-height: 100px;
		text-align: center;
	}

	#container>.shangchuan>input {
		opacity: 0;
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		cursor: pointer;
	}

	#container>#juedui {
		padding: 30px;
		position: relative;

	}

	#container>#juedui>div {
		width: 100px;
		margin-bottom: 30px;
	}

	#container>#juedui>div>img {
		width: 100%;
	}
</style>

<body>

	<div id="container">
		<div class="shangchuan">
			点击此处上传图片
			<input type="file" name="file" id="file_input" multiple />
		</div>
		<div id="juedui"></div>
	</div>
</body>

<script>
	window.onload = function () {
		var input = document.getElementById("file_input");
		var result, div;
		if (typeof FileReader === 'undefined') {
			result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
			input.setAttribute('disabled', 'disabled');
		} else {
			input.addEventListener('change', readFile, false);
		}

		function readFile() {
			var formData = new FormData();

			for (var i = 0; i < this.files.length; i++) {
				if (!input['value'].match(/.jpg|.gif|.png|.bmp/i)) {  //判断上传文件格式   
					return alert("上传的图片格式不正确,请重新选择")
				}
				formData.append('files', this.files[i]);
			}

			$.ajax({
				url: 'url',
				type: 'POST',
				data: formData,
				contentType: false,
				processData: false,
				success: function (json) {
					var list = json.payload;
					for (var i = 0; i < list.length; i++) {
						var url = list[i];
						var result = '<img src="' + url + '" alt=""/><p>' + url + '</p>';
						div = document.createElement('div');
						div.innerHTML = result;
						document.getElementById('juedui').appendChild(div);
					}
				}
			});
		}
	}

</script>

</html>

效果图:

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值