var updater = null;
var libSuffix = new Array("HDX","JAR");
function startStatusCheck()
{
document.getElementById('status').innerHTML = "";
document.getElementById("a").innerHTML="";
//设置上传按钮为不可用状态,避免多次提交
document.getElementById('submitButton').disabled = true;
//取得文件名
//var element = $("importFile").value;
var element=document.getElementById("importFile").value;
if ((element == "") || (element == "undefine") || (element == null)) {
alert(selectFile);
document.getElementById("submitButton").disabled = false;
return false;
}
var subfix = element.substring(element.lastIndexOf(".")+1).toUpperCase();
if (!isRightSuffix(subfix)) {//扩展名正确
alert(selectPackage);
document.getElementById("submitButton").disabled = false;
return false;
}
lockWindow('MsgWindow');
//创建周期性发送请求的Ajax对象
updater=setInterval("ajax_peroid()",1000);
return true;
}
function ajax_peroid(){
$.ajax({
async:true,
url: 'upload/fileupload',
type: 'get',
dataType: 'html',
cache:false,
data:'c=status',//参数设置
error: reportError,//错误处理,隐藏进度条
success: function(data,evt){
document.getElementById("status").innerHTML=data;
}
});
}
//出错时处理方法
function reportError(request)
{
document.getElementById('submitButton').disabled = false;
document.getElementById('status').innerHTML = '<div class="error"><b>Error communicating with server. Please try again.</b></div>';
document.getElementById('a').innerHTML="<input id=\"buttonok\" type=\"button\" class=\"button\" value=buttonOk onclick=\"unlockWindow('MsgWindow')\" />";
document.getElementById('buttonok').value=buttonOk;
}
//上传完毕后,取消周期性获取进度状态,将最终的状态显示在客户端
function killUpdate(message)
{
document.getElementById('submitButton').disabled = false;
//停止刷新获取进度
clearInterval(updater);
if(message != '')//如果有错误信息,则显示出来
{
document.getElementById('status').innerHTML = '<div class="error"><b>' + message + '</b></div>';
document.getElementById('a').innerHTML="<input id=\"buttonok\" type=\"button\" class=\"button\" value=buttonOk onclick=\"unlockWindow('MsgWindow')\" />";
document.getElementById('buttonok').value=buttonOk;
}else{
reloadLib();
}
}
function stopUpdate(message)
{
//停止刷新获取进度
clearInterval(updater);
document.getElementById('status').innerHTML = message;
window.parent.document.location=path+'/home/login.jsp';
}
function reloadLib(){
var url = path + "/admin/DocMgmt.do";
window.location.href=url;
}
//判断扩展名是否正确
function isRightSuffix(subfix)
{
for( var i=0; i<libSuffix.length; i++)
{
if( subfix === libSuffix[i])
{
return true;
}
}
return false;
}
分享到:
相关推荐
在上传过程中,不给用户提供当前上传进度信息是非常不友好的,这会给用户造成茫然的感觉,例如:文件是上传着呢还是死机了呢?上传什么时候完成呀?我得等待多久呀,上传文件的时候,我能干点别的事儿吗,如此等等。...
为 XHR 上传进度发出事件以获得漂亮的进度条。 在查看此 repo时,我想到了最初的想法。我知道我想要一个带有上传进度的好组件,所以我从那个库中复制了一些代码。 安装 可通过 npm 作为vue-file-upload-ponent. 或者...
html5和js多文件上传插件。可任意多文件选择上传,每个文件都可以显示进度,同时可以显示整体进度。采用了html的file对象和blob对象的属性和方法。
NULL 博文链接:https://zdlaa.iteye.com/blog/2062574
多文件上传,并显示每一个的进度。前端使用的easyui,amazeui,js等。后台使用springmcv,写的简单例子。当然使用atruts和servlet也同样可以。
struts2文件上传实时显示实时上传进度 使用ajaxfileupload.js异步文件上传脚本上传文件,这样做可以防止页面跳转, 然后使用定时器发送异步请求实时更新上传进度 这里是原始参考连接 ...
本资源利用 jQuery.form.js插件,结合canvas绘制进度圈,上传过程中可使视图层上呈现出整体的上传的进度效果
jsp 上传附件,类似163添加附件界面,有上传进度显示
今天整理了一个jsp附件上传模块,结合jquery Uploadify插件,可以一次性上传多个附件,而且自带上传进度功能,非常漂亮的界面和强大的功能。 Uploadify插件是由国外开发的一个jquery插件,功能非常的齐全,包括同时...
在上传时如果显示不了上传进度的话可能会比较麻烦。 要自行修改时请注意 flash 代码用的是as2脚本 所以我参考了别人提供的代码用flash制作了一个上传代码,特点如下。 1.可以显示上传进度。 2.在上传之前可以检查...
很棒的js文件上传源代码,上传稳定还有进度提示,需要使用commons-fileupload和commons-io.可以直接嵌入项目里面使用。
html5带进度多文件大文件上传插件,js插件好用
本文实例讲述了PHP使用Session实现上传进度功能。分享给大家供大家参考,具体如下: 实现文件上传进度条基本是依靠JS插件或HTML5的File API来完成,其实PHP配合ajax也能实现此功能。 PHP手册对于session上传进度是...
AJAXFileUpload ajax 异步文件上传 进度条AJAXFileUpload ajax 异步文件上传 进度条
通过netty获取文件进度,上传文件的时时数据大小,剩余时间.websocket和HTML结合,并不javascript的轮询获取上传进度,而是通过NIO的推送.
5. 上传文件时候, 反映上传进度 界面设计说明 对上传操作的页面显示做了以下人性化操作: 1、可以任意在上传多个文件,只需在一个上传文件的输入框中完成 2、上传前在不访问数据库的前提下,进行增加、删除、删除所有...
PHP+js文件上传 ,显示上传速度/进度
5、支持显示上传进度 6、支持图片预览 7、支持暂停上传 8、拖拽上传 文件列表: (1)index.html是演示上传的 (2)server/webup.aspx是后台接收上传的(另外两ashx是测试文件) (3)webuploader.js和upload.js是web...
//打开连接//监听上传事件//监听上传属性的上传事件,每次上传事件都会执行 progressHandlingFunction//执行上传//上传监听//获取上
springboot开发服务后台,提供文件上传接口,vue.js搭建前端项目,mint-ui做为UI界面,axios与后端服务接口交互,axios可实时监控文件上传进度,通过mint-ui实时展示当前文件上传进度