使用input tpe='file'便签上传图片,js设置显示预览图片

2 篇文章 0 订阅
这篇博客介绍了如何利用JavaScript的input type='file'标签实现图片上传预览功能,无需通过后台处理即可直接在前端预览上传的图片。文章包含相关JS代码和HTML代码示例,展示了上传前后的效果图。
摘要由CSDN通过智能技术生成

使用input tpe='file'便签上传图片,js设置显示预览图片


简单说明

之前写图片上传的预览功能,都是上传时通过ajax请求把图片传给后台,然后后台返回服务器图片路径,然后再显示预览提,现在可以直接通过js就可以预览上传的图片,真的很方便,这个功能是做项目的时候同事写的,我搬过来用,发现很不错,值得分享呢,如果有什么不足可以指出来哦。

js代码

<script>
   window.URL = window.URL || window.webkitURL;
   function changeFile(obj) {
       var files = obj.files;
       img = new Image();
       if (window.URL) {
           img.src = window.URL.createObjectURL(files[0]); //创建一个object URL,并不是你的本地路径
           //设置预览图片宽高,
           // img.width = 60;
           // img.height = 60;
           img.onload = function(e) {
               window.URL.revokeObjectURL(this.src); //图片加载后,释放object URL
           }

       } else if (window.FileReader) {
           //opera不支持createObjectURL/revokeObjectURL方法。我们用FileReader对象来处理
           var reader = new FileReader();
           reader.readAsDataURL(files[0]);
           reader.onload = function(e) {
               img.src = this.result;
               // img.width = 60;
               // img.height = 60;
           }
       } else {
           //ie
           obj.select();
           obj.blur();
           var nfile = document.selection.createRange().text;
           document.selection.empty();
           img.src = nfile;
           // img.width = 60;
           // img.height = 60;
           img.onload = function() {}
       }
       let uploadImgBox =document.getElementById('uploadImgBox');
       uploadImgBox.innerHTML = '';
       uploadImgBox.appendChild(img)
   }
</script>

html代码

	<label for="mypic">选择上传的图片文件</label></br>
    <input type="file" name='mypic' accept="image/*" onchange="changeFile(this)">
    <div id="uploadImgBox">预览图片区</div>

上传图片前效果图
在这里插入图片描述
上传图片后效果图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值