java - 从服务器下载文件时显示进度条

标签 java javascript jquery progress-bar

我需要向请求下载文件的用户显示一个进度条。我正在使用 J2EE 应用程序生成文件。用户将提交表单数据以获取文件。服务器对所有提交的数据进行操作、生成并将 PDF 文件发送回客户端。

所以我想在文件到达客户端之前向用户显示一个进度条。 有什么办法吗?

最佳答案

如果我理解您的意思,您希望在您的服务器准备好发送文件之前显示一个进度条,而不是显示正在下载的文件的进度。

如果这是真的,那么您正在处理一项艰巨的练习。可靠的进度条需要知道(非常准确)您在做什么以及需要多长时间。在您的情况下,有很多不可靠的因素(其中之一,也许是最大的,是网络本身)。

因此大多数开发人员使用某种“无尽”的动画来显示“进行中的工作”。

更新

根据您的评论,显示“正在进行的工作”动画的最简单方法如下所示

$.ajax({
    url:      "/myscripts/myserverscript",
    type:     "POST",
    data:     {
       foo: "bar"
    },
    dataType: "text",
    beforeSend: function(xhr){
        // display a progress animation
    },
    complete: function(xhr, status){
        // hide the animation
    }
    ...
});

在单个请求的情况下。您还可以为 (.ajaxStart().ajaxStop()) 设置一个全局 ajax 事件处理程序来设置显示/隐藏功能。

引用文献:.ajax() , .ajaxStart() , .ajaxStop()

关于java - 从服务器下载文件时显示进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011971/

相关文章:

java - 为什么我的if语句未返回正确的结果?

java - 如何将文本添加到 JTextArea

javascript - BootstrapTable 不支持分页

JavaScript;在页面加载时调用函数

java - 当两个元素相同时合并集合

java - 为什么会出现 SocketException?

javascript - html5 slider 破坏 javascript

c# - 一个很好的可视化排序算法的动画库

javascript - 在查询中自动将节点添加到 href 并取消默认

javascript - 使用jquery显示一个div隐藏其他div