input加载本地图片

本文介绍了如何使用JavaScript的FileReader API从用户上传的文件中读取数据,并将其转换为DataURL,进而实现图片的显示。重点在于展示实际操作步骤和文件读取事件处理。
/创建读取文件的对象
		var reader = new FileReader();
		//创建文件读取相关的变量
		var imgFile;
		//正式读取文件
		reader.readAsDataURL(e.raw);
		//为文件读取成功设置事件
		var str = '';
		reader.onload = function(e:any) {
			imgFile = e.target.result;
      imgBg.value = imgFile
		
			console.log(imgFile);
 
		};
在 HTML 中使用 `<img>` 标签加载本地图片时,需确保图片资源路径正确,并且在目标环境中支持对本地文件的访问。以下是几种常见场景下的实现方式: ### 本地 HTML 文件中加载本地图片 若 HTML 文件和图片文件位于本地文件系统中,可使用相对路径或绝对路径引用图片: ```html <img src="images/local-image.jpg" alt="本地图片" /> ``` 其中 `images/local-image.jpg` 是相对于当前 HTML 文件所在目录的相对路径。若 HTML 文件位于 `C:\project\index.html`,而图片位于 `C:\project\images\local-image.jpg`,则该路径是有效的。 ### 在 WebView 中加载本地 HTML 并显示图片 在某些跨平台框架(如 MAUI 或 Android)中,HTML 文件可能通过 `WebView` 加载,此时需使用特定协议(如 `local:///`)访问资源: ```html <img src="local:///Resources/Raw/image.jpg" alt="本地图片" /> ``` 这种方式确保图片资源被正确打包并在运行时通过 `WebView` 加载[^2]。 ### Android 中使用 HtmlWebViewSource 加载本地 HTML 资源 在 Android 应用中,若通过 `HtmlWebViewSource` 加载 HTML 字符串,需将图片资源放置在 `assets` 目录下,并使用以下方式引用: ```html <img src="file:///android_asset/images/local-image.jpg" /> ``` 此路径指向应用的 `assets` 目录中的图片资源,适用于通过 `WebView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null)` 加载 HTML 内容的场景[^2]。 ### 使用本地文件系统路径直接加载图片 在桌面浏览器中直接打开本地 HTML 文件时,可通过绝对路径访问本地图片: ```html <img src="file:///C:/project/images/local-image.jpg" /> ``` 此方式适用于开发调试阶段,但不适用于部署到 Web 服务器的场景,因为出于安全限制,大多数浏览器不允许从网页访问本地文件系统路径。 ### 使用 JavaScript 动态加载本地图片 在某些环境下,可通过 JavaScript 读取用户选择的本地文件并显示: ```html <input type="file" id="imageInput" /> <img id="preview" /> <script> document.getElementById('imageInput').addEventListener('change', function(e) { const file = e.target.files[0]; const reader = new FileReader(); reader.onload = function(event) { document.getElementById('preview').src = event.target.result; }; reader.readAsDataURL(file); }); </script> ``` 此方法允许用户通过文件选择器上传本地图片,并通过 `FileReader` 将其作为数据 URL 显示在 `<img>` 标签中。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值