JavaScript使用FileReader实现图片上传预览效果
发布时间 - 2026-01-11 03:07:44 点击率:次FileReader是HTML5 File API的一部分。它实现了一种异步文件读取机制。可以把FileReader想象为XMLHttpRequest,区别只是它读取的是文件系统,而不是远程服务器。为了读取文件中的数据,FileReader提供了如下几个方法。

- readAsText(file,encoding):以纯文本的方式读取文件,将读取到的文件保存到result属性中。
- readAsDataURL(file):读取文件并将文件以数据URI的形式保存在result属性中。
- readAsBinaryString(file):读取文件并将一个字符串保存在result属性中,字符串中的每个字符表示一个字节。
- readAsArrayBuffer(file):读取文件并将一个包含文件内容的ArrayBuffer保存在result属性中。
- multiple 属性表示支持多张图片
<div id="wrapper"> <input id="fileUpload" type="file" multiple /><br /> <div id="image-holder"> </div> </div>
$("#fileUpload").on('change', function () {
//获取上传文件的数量
var countFiles = $(this)[0].files.length;
var imgPath = $(this)[0].value;
var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
var image_holder = $("#image-holder");
image_holder.empty();
if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
if (typeof (FileReader) != "undefined") {
// 循环所有要上传的图片
for (var i = 0; i < countFiles; i++) {
var reader = new FileReader();
reader.onload = function (e) {
$("<img />", {
"src": e.target.result,
"class": "thumb-image"
}).appendTo(image_holder);
}
image_holder.show();
reader.readAsDataURL($(this)[0].files[i]);
}
} else {
alert("你的浏览器不支持FileReader!");
}
} else {
alert("请选择图像文件。");
}
});
FileReader 可以支持 Internet Explorer 10+、FireFox,、Chrome 和Opera浏览器。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# FileReader图片上传预览
# js图片上传预览
# js图片预览
# FileReader图片上传
# js利用FileReader读取本地文件或者blob方式
# JavaScript中的FileReader示例详解
# JavaScript通过filereader接口读取文件
# JS中FileReader类实现文件上传及时预览功能
# Js中FileReader读取文件内容方法详解(async/await)
# Js中的FileReader相关操作方法总结
# 并将
# 的是
# 几个
# 不支持
# 请选择
# 文件系统
# 大家多多
# 多张
# 上传文件
# 而不是
# 实现了
# 上传
# xhtml
# brush
# pre
# br
# multiple
# class
# input
# gt
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
iOS UIView常见属性方法小结
LinuxShell函数封装方法_脚本复用设计思路【教程】
黑客如何通过漏洞一步步攻陷网站服务器?
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
🚀拖拽式CMS建站能否实现高效与个性化并存?
Linux系统命令中screen命令详解
HTML 中动态设置元素 name 属性的正确语法详解
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
使用spring连接及操作mongodb3.0实例
如何在万网自助建站平台快速创建网站?
教你用AI润色文章,让你的文字表达更专业
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
jQuery 常见小例汇总
微信小程序 五星评分(包括半颗星评分)实例代码
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Laravel如何生成URL和重定向?(路由助手函数)
Laravel如何使用模型观察者?(Observer代码示例)
EditPlus中的正则表达式实战(5)
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
jQuery validate插件功能与用法详解
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何用免费手机建站系统零基础打造专业网站?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何在宝塔面板中修改默认建站目录?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
java获取注册ip实例
如何在阿里云虚拟主机上快速搭建个人网站?
Linux系统命令中tree命令详解
打造顶配客厅影院,这份100寸电视推荐名单请查收
Java遍历集合的三种方式
js实现点击每个li节点,都弹出其文本值及修改
网站优化排名时,需要考虑哪些问题呢?
如何用y主机助手快速搭建网站?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何确保FTP站点访问权限与数据传输安全?
Android使用GridView实现日历的简单功能
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
青岛网站建设如何选择本地服务器?
JavaScript如何实现继承_有哪些常用方法
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Linux安全能力提升路径_长期防护思维说明【指导】
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
创业网站制作流程,创业网站可靠吗?
如何快速生成可下载的建站源码工具?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】

