js 实现前端图片上传,展示缩略图功能
2017-11-15 11:29
691 查看
原理:很简单,就是监听input file表单的onchange事件。
注意:方法在ie浏览器可以实现,但是在高级浏览器非IE,就会有fakepath,图片路径加密的问题,导致显示不出上传的图片。
注意:方法在ie浏览器可以实现,但是在高级浏览器非IE,就会有fakepath,图片路径加密的问题,导致显示不出上传的图片。
解决方案:
引入 FileReader
FileReader API 地址:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReade<!DOCTYPE html> <html> <head> <title>文件上传图片,显示缩略图</title> <style type="text/css"> div { margin: 30px; } #mImg { max-width: 100px; } </style> </head> <body> <div> <input id="mFile" type="file" name="file"> </div> <div> <img id="mImg" src=""> </div> <script type="text/javascript"> document.getElementById('mFile').onchange = function (ev) { //判断 FileReader 是否被浏览器所支持 if (!window.FileReader) return; console.log(ev); var file = ev.target.files[0]; if(!file.type.match('image/*')){ alert('上传的图片必修是png,gif,jpg格式的!'); ev.target.value = ""; //显示文件的值赋值为空 return; } var reader = new FileReader(); // 创建FileReader对象 reader.readAsDataURL(file); // 读取file对象,读取完毕后会返回result 图片base64格式的结果 reader.onload = function(e){ document.getElementById('mImg').src = e.target.result; } } </script> </body> </html>
注意:浏览器的兼容性问题,请慎用~
相关文章推荐
- js实现前端图片上传即时预览功能
- node.js+express 实现CSDN上传头像功能 (包含图片的缩放,生成头像缩略图)
- Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
- Vue2.0 引用 exif.js 实现调用摄像头进行拍照功能以及图片上传功能
- 怎样实现前端裁剪上传图片功能
- WEB前端实现裁剪上传图片功能
- php,js实现手机图片上传功能(thinkphp,mobile.js)
- js前端实现多图图片上传预览的两个方法(推荐)
- 如何有效实现前端压缩图片并上传功能
- js实现图片上传并预览功能
- cropper js基于vue的图片裁剪上传功能的实现代码
- js实现图片粘贴上传到服务器并展示
- JS中利用FileReader实现上传图片前本地预览功能
- [前端 4] 使用Js实现图片上传预览
- 前端实现多图片上传查看功能(带UI实现)
- 转载:js实现上传图片时 点击浏览后 就可以看到缩略图 很实用
- 一个实现图片上传/产生缩略图/在上传图片上写字功能的完整页面代码
- 基于ASP.NET+EasyUI框架实现图片上传提交表单功能(js提交图片)
- JS实现上传图片预览功能
- 简单实现JS上传图片预览功能