原生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)
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?

