" + fname + "[正在上传...]
"); xhr = new XMLHttpRequest();// 这东西类似于servlet里面的request var fd = new FormData();// 用于封装文件数据的对象 fd.append("file", uploadfile);// 将文件对象添加到FormData对象中,字段名为uploadfile fd.append("folderId", locationpath); fd.append("uploadKey", uploadKey); if(repeModelList != null && repeModelList[fname] != null){ if(repeModelList[fname] == 'skip'){ $("#uls_" + count).text("[已完成]"); if (count < fcount) { doupload(count + 1); return ; } else { // 清空所有提示信息,还原上传窗口 isUpLoading=false; $("#filepath").removeAttr("disabled"); $("#uploadfile").val(""); $("#filepath").val(""); $("#pros").width("0%"); $("#pros").attr('aria-valuenow',"0"); $("#umbutton").attr('disabled', false); $("#filecount").text(""); $("#uploadstatus").text(""); $("#selectcount").text(""); $('#uploadFileModal').modal('hide'); showFolderView(locationpath); return ; } } fd.append("repeType", repeModelList[fname]); } xhr.open("POST", "homeController/douploadFile.ajax", true);// 上传目标 xhr.upload.addEventListener("progress", uploadProgress, false);// 这个是对上传进度的监听 // 上面的三个参数分别是:事件名(指定名称)、回调函数、是否冒泡(一般是false即可) xhr.send(fd);// 上传FormData对象 // 上传结束后执行的回调函数 xhr.onloadend = function() { if (xhr.status === 200) { // TODO 上传成功 var result = xhr.responseText; if (result == "uploadsuccess") { $("#uls_" + count).text("[已完成]"); if (count < fcount) { doupload(count + 1); } else { // 清空所有提示信息,还原上传窗口 isUpLoading=false; $("#filepath").removeAttr("disabled"); $("#uploadfile").val(""); $("#filepath").val(""); $("#pros").width("0%"); $("#pros").attr('aria-valuenow',"0"); $("#umbutton").attr('disabled', false); $("#filecount").text(""); $("#uploadstatus").text(""); $("#selectcount").text(""); $('#uploadFileModal').modal('hide'); showFolderView(locationpath); } } else if (result == "uploaderror") { showUploadFileAlert("提示:出现意外错误,文件:[" + fname + "]上传失败,上传被中断。"); $("#uls_" + count).text("[失败]"); } else { showUploadFileAlert("提示:出现意外错误,文件:[" + fname + "]上传失败,上传被中断。"); $("#uls_" + count).text("[失败]"); } } else { showUploadFileAlert("提示:出现意外错误,文件:[" + fname + "]上传失败,上传被中断。"); $("#uls_" + count).text("[失败]"); } }; } else { showUploadFileAlert("提示:要上传的文件不存在。"); $("#uploadstatus").prepend( "未找到要上传的文件[失败]
"); } } function uploadProgress(evt) { if (evt.lengthComputable) { // evt.loaded:文件上传的大小 evt.total:文件总的大小 var percentComplete = Math.round((evt.loaded) * 100 / evt.total); // 加载进度条,同时显示信息 $("#pros").width(percentComplete + "%"); $("#pros").attr('aria-valuenow',""+percentComplete); } } // 显示上传文件错误提示 function showUploadFileAlert(txt) { isUpLoading=false; $("#filepath").removeAttr("disabled"); $("#uploadFileAlert").addClass("alert"); $("#uploadFileAlert").addClass("alert-danger"); $("#uploadFileAlert").text(txt); $("#umbutton").attr('disabled', false); } // 显示下载文件模态框 function showDownloadModel(fileId, fileName) { $("#downloadFileName").text("提示:您确认要下载文件:[" + fileName + "]么?"); $("#downloadHrefBox").html("正在生成..."); getDownloadFileId=fileId; getDownloadFileName=fileName; $("#downloadFileBox") .html( ""); $("#dlmbutton").attr('disabled', false); $("#downloadModal").modal('show'); } // 执行下载操作 function dodownload(fileId) { $("#dlmbutton").attr('disabled', true); $("#downloadFileName").text("提示:准备开始下载,请稍候..."); var t = setTimeout("$('#downloadModal').modal('hide');", 800); window.location.href = "homeController/downloadFile.do?fileId=" + fileId; } // 显示删除文件模态框 function showDeleteFileModel(fileId, fileName) { $('#deleteFileBox') .html( ""); $("#dfmbutton").attr('disabled', false); $('#deleteFileMessage').text("提示:确定要彻底删除文件:[" + fileName + "]么?该操作不可恢复"); $('#deleteFileModal').modal('toggle'); } // 执行删除文件操作 function deleteFile(fileId) { $("#dfmbutton").attr('disabled', true); $('#deleteFileMessage').text("提示:正在删除,请稍候..."); $.ajax({ type : "POST", dataType : "text", data : { fileId : fileId }, url : "homeController/deleteFile.ajax", success : function(result) { if (result == "mustLogin") { window.location.href = "login.html"; } else { if (result == "noAuthorized") { $('#deleteFileMessage').text("提示:您的操作未被授权,删除失败"); $("#dfmbutton").attr('disabled', false); } else if (result == "errorParameter") { $('#deleteFileMessage').text("提示:参数不正确,删除失败"); $("#dfmbutton").attr('disabled', false); } else if (result == "cannotDeleteFile") { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); } else if (result == "deleteFileSuccess") { $('#deleteFileModal').modal('hide'); showFolderView(locationpath); } else { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); } } }, error : function() { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); } }); } // 显示重命名文件模态框 function showRenameFileModel(fileId, fileName) { $("#newFileNamealert").removeClass("alert"); $("#newFileNamealert").removeClass("alert-danger"); $("#filerenamebox").removeClass("has-error"); $("#newFileNamealert").text(""); $("#renameFileBox").html( ""); $("#newfilename").val(fileName); $("#renameFileModal").modal('toggle'); } // 修改文件名 function renameFile(fileId) { var reg = new RegExp("[\/\|\\s\\\\\*\\<\\>\\?\\:\\&\\$" + '"' + "]+", "g"); var newFileName = $("#newfilename").val(); if (newFileName.length > 0) { if (newFileName.length < 128) { if (!reg.test(newFileName) && newFileName.indexOf(".")!=0) { $.ajax({ type : "POST", dataType : "text", data : { fileId : fileId, newFileName : newFileName }, url : "homeController/renameFile.ajax", success : function(result) { if (result == "mustLogin") { window.location.href = "login.html"; } else { if (result == "cannotRenameFile") { showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"); } else if (result == "renameFileSuccess") { $('#renameFileModal').modal('hide'); showFolderView(locationpath); } else if (result == "errorParameter") { showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"); } else if (result == "nameOccupied") { showRFileAlert("提示:该名称已被占用,请选取其他名称。"); } else if (result == "noAuthorized") { showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"); } else { showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"); } } }, error : function() { showRFileAlert("提示:出现意外错误,可能未能重命名文件。"); } }); } else { showRFileAlert("提示:文件名中不应含有:空格 引号 / \ * | < > & $ : ? 且不能以“.”开头。"); } } else { showRFileAlert("提示:文件名称太长。"); } } else { showRFileAlert("提示:文件名不能为空。"); } } // 显示重命名文件状态提示 function showRFileAlert(txt) { $("#newFileNamealert").addClass("alert"); $("#newFileNamealert").addClass("alert-danger"); $("#filerenamebox").addClass("has-error"); $("#newFileNamealert").text(txt); } // 取消上传 function abortUpload() { isUpLoading=false; if (xhr != null) { xhr.abort(); $("#umbutton").attr('disabled', false); $("#pros").width("0%"); $("#pros").attr('aria-valuenow',"0"); $("#filecount").text(""); } $("#uploadfile").val(""); $("#filepath").val(""); $("#uploadstatus").html(""); $("#selectcount").text(""); $('#uploadFileModal').modal('hide'); showFolderView(locationpath); } // 获取文件名的后缀名,以小写形式输出 function getSuffix(filename) { var index1 = filename.lastIndexOf("."); var index2 = filename.length; var suffix = filename.substring(index1 + 1, index2); return suffix.toLowerCase(); } // 播放指定格式的视频 function playVideo(fileId) { window.open("quickview/video.html?fileId=" + fileId); } // 预览PDF文档 function pdfView(filePath) { window.open("/pdfview/web/viewer.html?file=/fileblocks/" + filePath); } // 预览Docx文档 function docxView(fileId){ window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/" + fileId); } // 预览TXT文档 function txtView(fileId){ window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/" + fileId); } // 查看图片 function showPicture(fileId) { $.ajax({ url : "homeController/getPrePicture.ajax", data : { fileId : fileId }, type : "POST", dataType : "text", success : function(result) { if (result != "ERROR") { pvl = eval("(" + result + ")"); // TODO 整合viewer.js插件 if(pvl.pictureViewList.length <= viewerPageSize) { createViewList();// 以全列方式显示图片列表 } else { // 以分页方式显示图片列表 viewerPageIndex = Math.ceil((pvl.index + 1) / viewerPageSize); viewerTotal = Math.ceil(pvl.pictureViewList.length / viewerPageSize); createViewListByPage(); var innerIndex = pvl.index - ((viewerPageIndex - 1) * viewerPageSize); if(viewerPageIndex > 1) { innerIndex++; } viewer.viewer('view', innerIndex); viewer.viewer('show', true); } // end } else { alert("错误:无法定位要预览的文件或该操作未被授权。"); } }, error : function() { alert("错误:请求失败,请刷新重试。"); } }); } // 用于创建并显示小于2*limit+1长度的图片列表 function createViewList() { if(viewer == null) { var images = document.createElement("ul"); for(var i = 0; i < pvl.pictureViewList.length; i++) { if(pvl.pictureViewList[i].filePath.startsWith("homeController")){ $(images).append("