html5-FileReader实现上传图片实时预览

普通的文件上传只能看到它的文件名,而如果要实现选择某一张图片则可以利用html5的FileReader完成

下面是实现步骤:
html:
上传图片按钮
这里是上传图片的内容,οnchange="getFile()"为选择文件后的转换函数,后面会提及
上传图片的按钮我这里是自定义的,做法在另一篇博客里

css:
预览框样式设置
预览框我暂定为100x100的正方形框,出来后图片可能会有变形之类的,可以自定义

接下来是主要的JS部分
JS:

  1. 首先,定义一个变量showFile保存实际要显示的图片的整个文件
    保存实际要显示的图片

  2. 获取预览框,方便之后的显示:
    获取预览框
    准备工作做完了,现在开始转码

  3. 编写一个函数,将图片路径转码
    将图片路径转码
    这样就获取到了转码后的图片文件的src
    (注意:FileReader在IE里是不兼容的,IE 6-9完全不兼容,IE 10-11需要写兼容)

  4. 接下来就是转换啦
    转换代码
    这里将选择的文件获取到之后,再赋给全局文件(如果点开了选择框但是没有选择文件即为之前的文件本身),再回调函数里将src赋给预览框
    这一步的完成时间是在file框的onchange中完成的

  5. 然后效果就完成啦,看看成果吧
    选择之前:
    选择图片之前
    因为我没有给img赋src,所以为空白
    选择之后:
    选择图片之后可预览
    选择图片就可以预览啦,再选择图片一样可以预览

样式简洁,可以自己定义,比如写个+什么的
像这种:
HTML实现实时图片预览
样式就自己定义好了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值