
ajax 上传文件 监听上传进度
发布日期:2021-05-12 22:17:17
浏览次数:12
分类:原创文章
本文共 1818 字,大约阅读时间需要 6 分钟。
ajax 上传,监听显示上传进度,前端代码如下
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script> </head> <body> 上传进度:<span id="uploadProgress">0</span>% <form id="uploadForm" enctype="multipart/form-data"> <input type="file" name="file"/> </form> <button id="uploadButton">上传文件</button> <script> $("#uploadButton").click(function(){ var formData = new FormData($("#uploadForm")[0]); $.ajax({ type:"post", url:"http://localhost/third/open/data/file/upload", async:true, data:formData, cache:false, processData: false, contentType: false, xhr: function xhr() { //获取原生的xhr对象 var xhr = $.ajaxSettings.xhr(); if (xhr.upload) { //添加 progress 事件监听 xhr.upload.addEventListener('progress', function (e) { //e.loaded 已上传文件字节数 //e.total 文件总字节数 var percentage = parseInt(e.loaded / e.total * 100) $("#uploadProgress").html(percentage) }, false); } return xhr; }, success:function(res){ alert(JSON.stringify(res)) } }); }); </script></body></html>
说明:e.loaded 为已上传文件字节数,e.total 为文件总字节数,这里为了显示好看,将其比值转换为整数,读者可根据自己项目需要使用进度条或进度环
后端代码就不列出了,只是一个上传的接口,如想了解,可参考:
运行效果如下图
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月30日 04时22分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
创建型模式之简单工厂模式实例及代码操作
2021-05-12
广东外语外贸大学第三届网络安全大赛Writeup
2021-05-12
跟着燕青学分布式事务控制技术方案
2021-05-12
Activiti视频分享
2021-05-12
VS2019 报错: LINK Error 无法找到 MSCOREE.lib的解决办法
2021-05-12
关于JS中的内存溢出与内存泄漏
2021-05-12
JS实现防抖与节流(使用按钮触发事件)
2021-05-12
React 学习笔记 —— refs 属性的三种书写方式
2021-05-12
React 学习笔记 —— Fragment
2021-05-12
CCF 模拟2-1 夏令营
2021-05-12
第八届蓝桥杯——杨辉三角
2021-05-12
算法训练——字符串合并
2021-05-12
信息学奥赛一本通【题目索引 + 解答】
2021-05-12
MySQL事务
2021-05-12
什么时候需要重写HashCode()
2021-05-12
2021-04-23
2021-05-12
Linux编程基础之创建两个子进程而不创建孙子进程
2021-05-12
另一个树的子树
2021-05-12
hadoop 分布式文件系统的计算和高可用
2021-05-12
2021-05-08
2021-05-12