原生js FileReader对象实现图片上传本地预览效果

发布时间 - 2026-01-11 02:28:17    点击率:

本文实例为大家分享了js实现图片上传本地预览效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style>
 label{display: inline-block;width:200px;height:40px;border:1px solid #ccc;}
 .ob{background:#ccc;padding:10px;}
 .imgbox img{height:100px;width:100px;margin:10px;}
 </style>
</head>
<body>
 <div class="ob" id="od" draggable="true">
 <input type="file" id="file" multiple="multiple">
 </div>
 <div class="imgbox"></div>
 <script>
 //获取文件url
 function createObjectURL(blob){
 if (window.URL){
 return window.URL.createObjectURL(blob);
 } else if (window.webkitURL){
 return window.webkitURL.createObjectURL(blob);
 } else {
 return null;
 }
 }

 var box = document.querySelector(".imgbox"); //显示图片box
 var file = document.querySelector("#file"); //file对象
 var domFragment = document.createDocumentFragment(); //文档流优化多次改动dom

 //触发选中文件事件
 file.onchange = function(e){
 box.innerHTML =""; //清空上一次显示图片效果
 e = e || event;
 var file = this.files; //获取选中的文件对象

 for(var i = 0, len = file.length; i < len; i++){
 var imgTag = document.createElement("img");
 var fileName = file[i].name; //获取当前文件的文件名
 var url = createObjectURL(file[i]); //获取当前文件对象的URL

 //忽略大小写
 var jpg = (fileName.indexOf(".jpg") > -1) || (fileName.toLowerCase().indexOf(".jpg") > -1);
 var png = (fileName.indexOf(".png") > -1) || (fileName.toLowerCase().indexOf(".png") > -1);
 var jpeg = (fileName.indexOf(".jpeg") > -1) || (fileName.toLowerCase().indexOf(".jpeg") > -1);

 //判断文件是否是图片类型
 if(jpg || png || jpeg){
  imgTag.src = url;
  domFragment.appendChild(imgTag);
 }else{
  alert("请选择图片类型文件!");
 }
 }

 //最佳显示
 box.appendChild(domFragment);

 }

 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # FileReader  # 图片上传  # 本地预览  # javascript结合fileReader 实现上传图片  # JavaScript通过filereader接口读取文件  # JS中利用FileReader实现上传图片前本地预览功能  # JS+HTML5 FileReader对象用法示例  # JS+HTML5 FileReader实现文件上传前本地预览功能  # JavaScript html5利用FileReader实现上传功能  # JavaScript使用FileReader实现图片上传预览效果  # 基于JavaScript FileReader上传图片显示本地链接  # JS中FileReader类实现文件上传及时预览功能  # JavaScript中的FileReader示例详解  # 请选择  # 大家分享  # 具体内容  # 大家多多  # 清空  # 文档  # Compatible  # UA  # Document  # title  # edge  # scale  # initial  # device  # equiv  # http  # height  # px  # ccc 


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


相关推荐: Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  linux top下的 minerd 木马清除方法  常州企业网站制作公司,全国继续教育网怎么登录?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  javascript如何操作浏览器历史记录_怎样实现无刷新导航  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  Python文本处理实践_日志清洗解析【指导】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel如何实现一对一模型关联?(Eloquent示例)  如何注册花生壳免费域名并搭建个人网站?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何升级到最新版本?(升级指南和步骤)  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  利用 Google AI 进行 YouTube 视频 SEO 描述优化  如何获取上海专业网站定制建站电话?  如何快速建站并高效导出源代码?  Laravel如何实现用户密码重置功能?(完整流程代码)  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  免费网站制作appp,免费制作app哪个平台好?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何快速生成凡客建站的专业级图册?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  Android中AutoCompleteTextView自动提示  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Bootstrap整体框架之CSS12栅格系统  如何将凡科建站内容保存为本地文件?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  EditPlus中的正则表达式 实战(4)  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?