input file 上传图片并实现实时预览

发布时间:2024-11-12 13:12

一颗冉冉升起的新星 于 2018-08-20 16:03:28 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

前言

用普通的html的 <input type="file"/> 标签是不能实现实时预览功能的,获取表单的值可以得到图片所在路径:C:\fakepath\test.png,如果将它直接赋值给img标签的href属性,会报错:Not allowed to load local resource(不允许加载本地资源)。

功能实现

可以通过file标签和js的 FileReader 接口来实现此功能:

把选择的图片文件调用readAsDataURL方法把图片数据转成base64字符串形式显示在页面上给a标签定义 href属性 和 download=”文件名.后缀名”,就可以实现点击下载的功能

<input type="file" id="uploadImg" onchange="xmTanUploadImg(this)"> <img src="" alt="" id="selectImg"> <a href="javascript:void()" download="picture.jpg" id="xmTanDownload">点此下载</a> <script> function xmTanUploadImg(obj) { var file = obj.files[0]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (e) { //成功读取文件 var img = document.getElementById("selectImg"); img.src = e.target.result; //或 img.src = this.result / e.target == this //实现点击下载图片功能 var xmTanDownload = document.getElementById("xmTanDownload"); xmTanDownload.setAttribute("href", e.target.result); //给a标签设置href }; } </script>

12345678910111213141516171819 效果图

这里写图片描述

网址:input file 上传图片并实现实时预览 https://www.yuejiaxmz.com/news/view/55479

下一篇:Java

相关内容

点击图片放大预览,遮罩屏幕放大展示
[Errno 2] No such file or directory
FileReader的使用方法
图片处理
CSS小技巧——去除input[type=number]的默认样式
编辑图片怎么操作更简单?图片在线编辑!
软件开发实训(720科技)――第五课:数据绑定和标签库
时间管理的技巧与实践.docx
如何有效压缩图片内存以节省存储空间
时间管理策略与实践方案分享.docx

随便看看