JS实现图片预览的两种方式

发布时间 - 2026-01-11 02:04:39    点击率:

考虑到用户体验, 网页的图片上传数据库前,先预览是很有必要的一个步骤,第一可以给用户带来安全感,第二防止图片文件有问题而提交到数据库,占用存储资源。

那么要实现预览有两种方式:一种是用window.URL.createObjectURl方法对选择的图片数据(可以勉强理解为input的value)生成一个blob对象路径,第二种是用获取 FileReader读取器。

那么无论那种方法,首先都得得到文件数据,获得文件数据是从files集合中获取。

方式一:

代码如下:

<input type=file id="inp">
<script>
 inp.onchange=function(){
 var file=this.files[0] // 获取input上传的图片数据;
 var img=new Image() ;
 url=window.URL.createObjectURL(file) // 得到bolb对象路径,可当成普通的文件路径一样使用,赋值给src;
 img.src=url;
 //其实也可一句代码搞定,不需要声明那么多变量;img.scr=window.URL.cteateObejectURL(this.files[0]) ;
 然后把img添加到页面就实现预览了
 }
<script>

方式二:

用FileRader对像读取文件.可分为四步;1、创建FileReader对像;2、调用readAsDataURL方法读取文件;3、调用onload事件监听,我们一需要拿到完整的数据,但我们又不知道文件何时读完?,所以需要第三步监听;4、通过FileRader对像r的result属性拿到读取结果。

代码如下:

<input type=file id="inp">
<input type=file id="inp">
<script>
inp.onchange=function(){
 var read=new FileReader() // 创建FileReader对像;
 read.readAsDataURL(this.files[0]) // 调用readAsDataURL方法读取文件;
  read.onload=function(){
   url=read.result // 拿到读取结果;
   var img=new Image();
   img.src=url;
   div.appendChild(img);
 }
 }

以上所述是小编给大家介绍的JS实现图片预览的几种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js实现图片预览  # js  # 图片预览  # angularjs点击图片放大实现上传图片预览  # JS实现的图片预览插件与用法示例【不上传图片】  # js本地图片预览实现代码  # 手机图片预览插件photoswipe.js使用总结  # JS上传图片预览插件制作(兼容到IE6)  # JS HTML5拖拽上传图片预览  # js实现纯前端的图片预览  # 小编  # 一句  # 在此  # 不需要  # 那么多  # 很有  # 是从  # 也可  # 给大家  # 考虑到  # 几种  # 又不  # 有两种  # 都得  # 可分为  # 所述  # 第二种  # 给我留言  # 第三步  # 感谢大家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  如何获取上海专业网站定制建站电话?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel如何集成Inertia.js与Vue/React?(安装配置)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何在阿里云部署织梦网站?  黑客如何利用漏洞与弱口令入侵网站服务器?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  bootstrap日历插件datetimepicker使用方法  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  电商网站制作价格怎么算,网上拍卖流程以及规则?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  高防服务器:AI智能防御DDoS攻击与数据安全保障  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  如何在IIS7中新建站点?详细步骤解析  Laravel如何使用Telescope进行调试?(安装和使用教程)  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  利用JavaScript实现拖拽改变元素大小  网站制作壁纸教程视频,电脑壁纸网站?  Laravel中的withCount方法怎么高效统计关联模型数量  如何生成腾讯云建站专用兑换码?  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel如何使用模型观察者?(Observer代码示例)  怎么用AI帮你设计一套个性化的手机App图标?  如何在云主机上快速搭建多站点网站?  微信小程序 input输入框控件详解及实例(多种示例)  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  北京的网站制作公司有哪些,哪个视频网站最好?  怎样使用JSON进行数据交换_它有什么限制  大连 网站制作,大连天途有线官网?  非常酷的网站设计制作软件,酷培ai教育官方网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何在云指建站中生成FTP站点?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  html5的keygen标签为什么废弃_替代方案说明【解答】  javascript中的try catch异常捕获机制用法分析  在线制作视频的网站有哪些,电脑如何制作视频短片?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何在万网自助建站平台快速创建网站?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?