input type=file 选择图片并且实现预览效果的实例

通过<input />标签,给它指定type类型为file,可提供文件上传;

accept:可选择上传类型,如:只要传图片,且不限制图片格式,为image/*;

multiple:规定是否可以选择多个文件;

规定只可上传图片,且可以选择多个文件

?
1
< input type = "file" accept = "image/*" multiple = "multiple" />

当然,直接一个input type=file 只能选择上传的文件/资源,如果我们需要在选择图片之后,在当前页面实现预览效果,那么我们可以如下方式来实现

HTML代码

?
1
2
3
4
5
6
7
8
< body >
   < div id = "box" >
     < img id = "imgshow" src = "" alt = "" />
   </ div >
   < div id = "pox" >
     < input id = "filed" type = "file" accept = "image/*" />
   </ div >
</ body >

css样式文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
< style >
     #box{
       width: 300px;
       height: 300px;
       border: 2px solid #858585;
     }
     #imgshow{
       width: 100%;
       height: 100%;
     }
     #pox{
       width: 70px;
       height: 24px;
       overflow: hidden;
     }
   </ style >

JS代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
< script >
     //在input file内容改变的时候触发事件
     $('#filed').change(function(){
     //获取input file的files文件数组;
     //$('#filed')获取的是jQuery对象,.get(0)转为原生对象;
     //这边默认只能选一个,但是存放形式仍然是数组,所以取第一个元素使用[0];
       var file = $('#filed').get(0).files[0];
     //创建用来读取此文件的对象
       var reader = new FileReader();
     //使用该对象读取file文件
       reader.readAsDataURL(file);
     //读取文件成功后执行的方法函数
       reader.onload=function(e){
     //读取成功后返回的一个参数e,整个的一个进度事件
         console.log(e);
     //选择所要显示图片的img,要赋值给img的src就是e中target下result里面
     //的base64编码格式的地址
         $('#imgshow').get(0).src = e.target.result;
       }
     })
</ script >

*以上js代码中有使用到jQuery,因此要引入jQuery文件

这篇input type=file 选择图片并且实现预览效果的实例就是小编分享给大家的全部内容了,


如何去掉 input type=file 的 “未选择任何文件”标志?

并且
<style>
input[type="file"] {
  color: transparent;
}
</style>
<input type="file">
可以实现


如何去掉 input type=file 的 “未选择任何文件”标志?

如何去掉 input type=file 的 “未选择任何文件”标志?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现input[type='file']样式美化及图片预览,可以使用以下步骤: 1. 创建一个label元素,将input[type='file']元素隐藏在label里面,并设置label的样式。 2. 给input[type='file']元素设置一个change事件,当选择文件后触发事件。 3. 在change事件中获取选择的文件,并将文件转换成URL格式,用于预览。 4. 创建一个img元素,设置src属性为URL格式的文件,即可实现预览效果。 以下是一个简单的示例代码: ```html <!-- HTML部分 --> <label for="file-upload" class="custom-file-upload"> <i class="fa fa-cloud-upload"></i> 选择文件 </label> <input id="file-upload" type="file"/> <div id="preview"></div> ``` ```css /* CSS部分 */ .custom-file-upload { display: inline-block; padding: 6px 12px; cursor: pointer; font-size: 16px; font-weight: bold; color: #fff; background-color: #337ab7; border-color: #2e6da4; border-radius: 4px; } #preview { width: 200px; height: 200px; margin-top: 20px; border: 1px solid #ccc; } ``` ```javascript // JavaScript部分 var input = document.getElementById("file-upload"); var preview = document.getElementById("preview"); input.addEventListener("change", function() { var file = this.files[0]; var reader = new FileReader(); reader.addEventListener("load", function() { preview.innerHTML = '<img src="' + reader.result + '" />'; }, false); if (file) { reader.readAsDataURL(file); } }, false); ``` 以上代码中,我们用label元素包裹隐藏的input[type='file']元素,并设置了一个自定义样式。当用户点击“选择文件”按钮时,实际上是触发了input[type='file']元素的点击事件,从而弹出系统文件选择框。 在input[type='file']元素的change事件中,我们获取选择的文件,并使用FileReader对象将文件转换成URL格式。最后,我们创建一个img元素,将URL格式的文件设置为其src属性,即可实现预览效果。 需要注意的是,由于安全性限制,我们无法直接读取本地文件的路径,因此需要使用FileReader对象将文件转换成URL格式才能进行预览

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值