Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jQuery.ajax文件上传进度条

jQuery.ajax文件上传进度条

作者头像
KEVINGUO_CN
发布于 2020-03-16 02:19:34
发布于 2020-03-16 02:19:34
3.6K00
代码可运行
举报
文章被收录于专栏:全栈全栈全栈全栈
运行总次数:0
代码可运行

XMLHttpRequest.upload 向后台上传文件时监听进度,主要使用的是XMLHttpRequest提供的upload方法,此方法会返回一个XMLHttpRequestUpload对象,用来表示上传进度 。 —— XMLHttpRequest.upload

FormData 是XMLHttpRequest提供的一个新的接口,主要优点是可以异步上传二进制文件。 —— FormData

具体操作如下
页面结构及样式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="file" id="upload-file">
<div class="progress">
    <div></div>
</div>
<button onclick="">上传</button>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.progress {
   width: 600px;
    height: 10px;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin: 10px 0px;
    overflow: hidden;
}
/* 初始状态设置进度条宽度为0px */
.progress > div {
    width: 0px;     
    height: 100%;
    background-color: yellowgreen;
    transition: all .3s ease;
}
功能实现
function uploadFile() {
    //获取上传的文件
    var uploadFile = $('#upload-file').get(0).file[0];

    var formdata = new FormData();

    formdata.append('fileInfo', uploadFile);
    $.ajax({
        url: '/uploadfileurl',
        type: 'post',
        dataType: 'json',
        processData: false,
        contentType: false,
        xhr: function() {
            var xhr = new XMLHttpRequest();
            //使用XMLHttpRequest.upload监听上传过程,注册progress事件,打印回调函数中的event事件
            xhr.upload.addEventListener('progress', function (e) {
                console.log(e);
                //loaded代表上传了多少
                //total代表总数为多少
                var progressRate = (e.loaded / e.total) * 100 + '%';

                //通过设置进度条的宽度达到效果
                $('.progress > div').css('width', progressRate);
            })

            return xhr;
        }
    })
}                      
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Ajax第四节
注意:我们现在使用new XMLHttpRequest创建的对象就是2.0对象了,我们之前学的是1.0的语法,现在学习一些2.0的新特性即可。
用户3461357
2019/08/02
6970
SpringMVC--文件下载
接着上篇SpringMVC--文件上传,只是实现了文件的上传,接着来实现文件的下载
aruba
2022/05/25
2400
SpringMVC--文件下载
【重要】你不得不知道的文件上传进度提示
当上传的文件相对较大时,用户可能需要等待较长的时间,这个时候前端如果没有任何提示的话,体验不是很好,如果有上传进度提示,就会好很多。而要在上传过程实时显示上传进度,则需要已上传的大小和文件总大小。
胡哥有话说
2019/07/25
1.1K0
java怎么做带进度条的上传
在Java中实现带进度条的文件上传功能通常涉及到前后端的配合工作。前端负责收集文件并展示上传进度,后端负责接收和处理文件,并提供进度信息给前端。
JaneYork
2024/05/25
2180
如何使用Springboot实现文件上传和下载,并为其添加实时进度条的功能
文件上传和下载是Web开发中非常基础的功能,但在实际开发中,我们经常需要实时显示文件上传或下载的进度。这篇文章将介绍如何使用Springboot实现文件上传和下载,并为其添加实时进度条的功能。
网络技术联盟站
2023/06/03
2.8K0
校园网内简易p2p文件分享平台的手动实现 - wuuconix's blog
前几天突然想到了一个想法。同学之间平常用网络分享一个文件,大部分都是用的qq。但是qq看起来把文件拖到聊天框点击发送就发给对面同学了。但是实际上是先上传到了腾讯的服务器,然后对面的同学再从服务器上下载。
wuuconix
2023/03/14
6170
校园网内简易p2p文件分享平台的手动实现 - wuuconix's blog
springmvc + h5(进度条)文件上传
版权声明:本文为博主原创文章,未经博主允许不得转载。 1.先上效果图 1.1弹出附件框 1.2选择文件,点击上传(这里做了一个简单的校验) 1.3点击上传 1.4上传成功 刷新列表 2
DencyCheng
2018/11/05
2.8K1
Ajax 文件上传
原文地址:http://blog.sina.com.cn/s/blog_5d64f7e3010127ns.html
易墨
2018/09/14
2.2K0
js文件异步上传进度条
进度条的应用是为了显示的告诉用户文件上传了多少,对于小文件的上传基本上应用不到进度条。进度条主要应用于大文件的上传,在于告诉用户上传情况,不至于让用户无状态等待,增加了用户的体验,如果没有进度条,在上传过程中,用户不知道是不是卡死了,这种体验就很差了,下面我们来说一下如何在异步上传时显示进度条。
OECOM
2020/07/02
10.7K0
Spring MVC-09循序渐进之文件上传(基于Servlet3.0+Html5客户端上传文件)
虽然Servlet3.0+中上传文件,我们在服务端编程即可非常容易,但是用户体验却不是非常友好。单独的一个HTML表单并不能显示进度条,或者显示已经成功上传的文件数量。
小小工匠
2021/08/17
7180
WEB:文件上传 —— 看这篇就够了
HTML 表单最初只支持 application/x-www-form-urlencoded 形式编码(key=value&key=value...),但它不适合用于传输二进制数据(文件)或者包含非ASCII字符的数据。所以 multipart/form-data 就诞生了,专门用于传输文件。
WEBJ2EE
2019/07/30
6.8K0
WEB:文件上传 —— 看这篇就够了
springMVC+ajax 文件上传 带进度条
前端代码: <form id= "uploadForm"> <p >指定文件名: <input type="text" name="filename" value= ""/></p > <p >上传文件: <input type="file" name="file"/></ p> <input type="button" value="上传" onclick="doUpload()" /> </form> function doUpload() {
肖哥哥
2019/02/22
1.8K0
《大胖 • 小课》- 玩玩多文件配多进度上传
这是《大胖小课》栏目的专题一《说说文件上传那些事儿》的第4节-《玩玩多文件配多进度上传》
zz_jesse
2020/03/17
6300
C#结合JavaScript实现多文件上传
在许多应用场景里,多文件上传是一项比较实用的功能。实际应用中,多文件上传可以考虑如下需求:
初九之潜龙勿用
2024/06/20
1520
C#结合JavaScript实现多文件上传
Html5上传插件封装
      前段时间将flash的上传控件替换成使用纯js实现的,在此记录 1.创建标签 <div class="camera-area" style="display:inline-block;float:left"> <input type="file" id="UploadFile" name="fileToUpload" class="fileToUpload" style="float:left;width:auto;padding:10px 0" /> <div class="u
用户1055830
2018/01/18
3.5K0
Html5上传插件封装
《Ajax科普入门》用Ajax写个经典影视台词网易云评论无限滚动
为了让提升用户体验,微软在IE5中引入了XMLHttpRequest, 简称XHR,XMLHttpRequest的出现,可以让网页无需刷新,即可从服务器获取最新的内容,这项技术也就是所谓的Ajax
zhaoolee
2021/12/07
1.2K0
《Ajax科普入门》用Ajax写个经典影视台词网易云评论无限滚动
jQuery实现上传文件获取进度条
<!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>上传文件</title> </head> <body> <input type=
明知山
2020/09/03
1.9K0
springMVC是实现前台带进度条文件上传
项目框架采用spring+hibernate+springMVC如果上传文件不想使用flash那么你可以采用html5;截图前段模块是bootstarp框架;不废话直接来代码;spring-mvc配置文件;效果截图如下:
用户6625441
2020/03/13
1.7K0
【原生Ajax】全面了解xhr的概念与使用。
xhr是浏览器提供的JavaScript对象,通过它,可以请求服务器上的数据资源,之前所学的jquery的ajax函数,就是基于xhr对象封装出来的。
坚毅的小解同志的前端社区
2022/11/28
3K0
【原生Ajax】全面了解xhr的概念与使用。
MVC5:使用Ajax和HTML5实现文件上传功能
引言 在实际编程中,经常遇到实现文件上传并显示上传进度的功能,基于此目的,本文就为大家介绍不使用flash 或任何上传文件的插件来实现带有进度显示的文件上传功能。 基本功能:实现带有进度条的文件上传功能 高级功能:通过拖拽文件的操作实现多个文件上传功能 背景 HTML5提供了一种标准的访问本地文件的方法——File API规格说明,通过调用File API 能够访问文件信息,也可以利用客户端来验证上传文件的类型和大小是否规范。 该规格说明包含以下几个接口来使用文件: File接口:具有文件的“读权限”,可以
葡萄城控件
2018/01/10
4.4K0
MVC5:使用Ajax和HTML5实现文件上传功能
相关推荐
Ajax第四节
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验