前端上传图片,回显图片

本文介绍如何使用JavaScript实现在用户未点击上传按钮时,前端就预览选择的图片。通过FileReader API读取文件并转换为DataURL,直接更新页面显示。

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

想要实现的效果:
在一个系统中我上传了一张图片 然后点击完选择文件之后,这个时候还没有点击上传,可是,页面就已经把这个图片显示了

注意:图片显示的时候是没有提交或者走url的,只有点击submit按钮之后才进行后台交互

解决:几行js代码的事

前台html代码:

<div class="col-md-3 row align-items-center">
   <img th:src="${drinks.getDrinkPicture()}" id="xin"/>
   <input class="" name="dizhi" type="file" id="sun" />
</div>

js代码:

<script>
	// 选择文件上传控件
	var file = document.querySelector('#sun');
	// 选择图片控件
	var preview = document.querySelector('#xin');
	// 当用户选择完文件以后
	file.onchange = function(){
		// 创建文件读取对象
		var reader = new FileReader();
		// 在文件上传控件中有一个 files 属性,代表用户选择的文件列表,files[0] 表示第一个文件
		// 如果加了 multiple 属性上传多个文件的话,files[1] 就是第二个文件,files[2] 就是第三个文件 ...
		// 读取文件
		reader.readAsDataURL(this.files[0]);
		// 监听onload事件
		reader.onload = function(){
			// 将文件读取的结果显示在页面中
			preview.src=reader.result;
		}
	}
</script>

参考:https://blog.youkuaiyun.com/weixin_44679078/article/details/105537708

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值