📄 filesexplorer.ascx
字号:
<%@ Control Inherits="SpbDev.FilesWebPages.UCFilesIndex" Language="C#"%>
<%@ Register TagPrefix="spbdev" Namespace="SpbDev.FilesWebControls" Assembly="SpbDev.Files"%>
<html>
<head>
<title><%=FilesSysName%> - 文件管理</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<style type="text/css">
<!--
body,table,td{font-size:12px;color:#000000;word-break:break-all;}
body{margin:1px;padding:0;background:#4279BD url(<%=TemplateSourceDirectory%>/image/FilesPageBg.gif);}
img{vertical-align:bottom}
form{margin:0;padding:0}
a{color:#000080;text-decoration:none;}
a:hover{color:#ff3333;text-decoration:underline}
.txtWhite{color:#EEEEEE}
.txtWhite a{color:#EEEEEE}
.InputTxt{border:solid 1px #6666AA;}
.button{width:63px;height:20px;cursor:hand;border:none;}
.imgbutton{width:32px;height:32px;border:solid 0;cursor:hand;}
.imgbt{border:solid 1px;border-color:#ffffff #999999 #999999 #ffffff;cursor:hand;}
.imgBtDown{border:solid 1px;border-color:#999999 #ffffff #ffffff #999999;cursor:hand;}
//-->
</style>
<script language="javascript">
<!--
var startTime,endTime;
var d=new Date();
startTime=d.getTime();
var scriptName="<%=SelfName%>";
var sCurPath="<%=Str.JsParamEnc(CurrentPath).ToLower()%>";
var sEncCurPath="<%=Str.UrlEnc(CurrentPath)%>";
var sAuthFileType="<%=Str.JsParamEnc(AuthFileType)%>";
var iCurFilePage=<%=CurFilePage%>;
var iCurDirPage=<%=CurDirPage%>;
String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.urlEnc=function()
{
var str=this.replace(/!/g,"%21");
str=str.replace(/"/g,"%22");
str=str.replace(/#/g,"%23");
str=str.replace(/\$/g,"%24");
str=str.replace(/%/g,"%25");
str=str.replace(/&/g,"%26");
str=str.replace(/'/g,"%27");
str=str.replace(/\(/g,"%28");
str=str.replace(/\)/g,"%29");
str=str.replace(/\*/g,"%2A");
str=str.replace(/\+/g,"%2B");
str=str.replace(/,/g,"%2C");
str=str.replace(/\./g,"%2E");
str=str.replace(/\//g,"%2F");
str=str.replace(/:/g,"%3A");
str=str.replace(/;/g,"%3B");
str=str.replace(/</g,"%3C");
str=str.replace(/=/g,"%3D");
str=str.replace(/>/g,"%3E");
str=str.replace(/\?/g,"%3F");
str=str.replace(/@/g,"%40");
str=str.replace(/\[/g,"%5B");
str=str.replace(/\\/g,"%5C");
str=str.replace(/]/g,"%5D");
str=str.replace(/\^/g,"%5E");
str=str.replace(/`/g,"%60");
str=str.replace(/\{/g,"%7B");
str=str.replace(/\|/g,"%7C");
str=str.replace(/}/g,"%7D");
str=str.replace(/~/g,"%7E");
str=str.replace(/ /g,"%20");
return str;
}
function isRightName(str){
var sForbidStr="\\/:*?\"<>|";
for(var i=0;i<sForbidStr.length;i++){
if(str.indexOf(sForbidStr.substr(i,1))>-1){
return false;
}
}
return true;
}
function isAuthFileType(str){
if(sAuthFileType=="*"){
return true;
}
else{
var sFileType="|" + str.substr(str.lastIndexOf(".")).toLowerCase() + "|";
return ("|" + sAuthFileType + "|").indexOf(sFileType)>-1 ? true : false;
}
}
function showFileIco(str,sPath){
var iPntPos=str.lastIndexOf(".");
var sFileType=iPntPos<0 ? "" : str.substr(iPntPos+1).toLowerCase();
switch(sFileType){
case "htm":
case "html":
document.write("<img src='" + sPath + "/image/html.gif'>");
break;
case "css":
document.write("<img src='" + sPath + "/image/css.gif'>");
break;
case "asp":
document.write("<img src='" + sPath + "/image/asp.gif'>");
break;
case "txt":
document.write("<img src='" + sPath + "/image/text.gif'>");
break;
case "jpg":
case "gif":
case "png":
document.write("<img src='" + sPath + "/image/img.gif'>");
break;
case "mdb":
document.write("<img src='" + sPath + "/image/access.gif'>");
break;
case "doc":
document.write("<img src='" + sPath + "/image/word.gif'>");
break;
case "mid":
case "mp3":
document.write("<img src='" + sPath + "/image/midi.gif'>");
break;
case "zip":
case "rar":
document.write("<img src='" + sPath + "/image/zip.gif'>");
break;
case "chm":
document.write("<img src='" + sPath + "/image/chm.gif'>");
break;
default:
document.write("<img src='" + sPath + "/image/unknown.gif'>");
break;
}
}
function selAll(sName,bChecked){
var oColl=document.getElementsByName(sName);
var k;
for(k=0;k<oColl.length;k++){
if(oColl[k].tagName=="INPUT"){
oColl[k].checked=bChecked;
}
}
}
function createItem(sAct){
if(sAct=="creFile" || sAct=="creDir"){
var sName=window.prompt("请输入要创建的 文件/目录 名称!","");
if(sName){
if(isRightName(sName)){
if(sName.trim()!=""){
if(sAct=="creDir" || isAuthFileType(sName)){
if(document.all){
sName = urlEnc(sName);
}
else{
sName=sName.urlEnc();
}
window.location.href="FilesOper.aspx?act=" + sAct + "&path=" + sEncCurPath + "&key=" + sName;
return true;
}
else{
alert("抱歉,你只能创建如下后缀的文件:\n" + sAuthFileType.replace(/\|/g,","));
return false;
}
}
else{
alert("建议不要创建只包含空格的文件/目录,否则以后不好管理!");
return false;
}
}
else{
alert("文件/目录 名称中不得包含 /\\:*?\"<>| 等特殊字符!");
return false;
}
}
}
else{
return false;
}
}
function operateFile(sFileName,sAct){
var sEncFileName,sEncFileName;
if(document.all){
sEncFileName=urlEnc(sFileName);
}
else{
sEncFileName=sFileName.urlEnc();
}
switch(sAct){
case "down":
window.open("FilesDown.aspx?key=" + sEncCurPath + sEncFileName,"SpbDevFiles","");
break;
case "browse":
window.open(sCurPath + sEncFileName,"SpbDevFiles","");
break;
case "del":
if(window.confirm("你真的要删除文件 [" + sFileName + "] 吗?")) window.location.href="FilesOper.aspx?act=del&d=" + iCurDirPage + "&f=" + iCurFilePage + "&path=" + sEncCurPath + "&key=" + sEncFileName;
break;
case "edit":
var sEditableFile="|txt|asp|idx|asa|inc|stm|shtm|shtml|php|php3|php4|cgi|asax|aspx|ascx|asmx|aspa|cs|vb|jsp|htm|html|css|js|vbs|bat|";
var iPntPos=sFileName.lastIndexOf(".");
var sFileType=iPntPos<0 ? "" : sFileName.substr(iPntPos+1).toLowerCase();
if((sFileType=="" || sEditableFile.indexOf("|" + sFileType + "|")<0) && !window.confirm("你确定这种类型文件为ASCII文件并要编辑它?")) return;
window.open("FilesEdit.aspx?key=" + sEncCurPath + sEncFileName,"SpbDevFiles","");
break;
case "ren":
var sNewName=window.prompt("请输入新文件名",sFileName);
if(sNewName!=null){
if(sNewName==""){
alert("更名失败:文件名不能为空!");
}
else if(sNewName==sFileName){
alert("更名失败:您没有更改文件名!");
}
else if(!isRightName(sNewName)){
alert("更名失败:文件名不得包含 /\\:*?\"<>| 等特殊字符!");
}
else if(!isAuthFileType(sNewName)){
alert("抱歉,你只能将文件更名为如下后缀类型:\n" + sAuthFileType.replace(/\|/g,","));
}
else{
sNewName = document.all==null ? sNewName.urlEnc() : urlEnc(sNewName);
window.location.href="FilesOper.aspx?act=ren&d=" + iCurDirPage + "&f=" + iCurFilePage + "&path=" + sEncCurPath + "&key=" + sEncFileName + "&newName=" + sNewName;
}
}
break;
default:
break;
}
}
function operateDir(sDirName,sAct){
if(document.all){
sEncDirName=urlEnc(sDirName);
}
else{
sEncDirName=sDirName.urlEnc();
}
switch(sAct){
case "del":
if(window.confirm("你真的要删除目录 [" + sDirName + "] 吗?")) window.location.href="FilesOper.aspx?act=delDir&d=" + iCurDirPage + "&f=" + iCurFilePage + "&path=" + sEncCurPath + "&key=" + sEncDirName;
break;
case "ren":
var sNewName=window.prompt("请输入新目录名",sDirName);
if(sNewName!=null){
if(sNewName==""){
alert("更名失败:文件名不能为空!");
}
else if(sNewName==sEncDirName){
alert("更名失败:您没有更改文件名!");
}
else if(!isRightName(sNewName)){
alert("更名失败:文件名不得包含 /\\:*?\"<>| 等特殊字符!");
}
else{
sNewName = document.all==null ? sNewName.urlEnc() : urlEnc(sNewName);
window.location.href="FilesOper.aspx?act=renDir&d=" + iCurDirPage + "&f=" + iCurFilePage + "&path=" + sEncCurPath + "&key=" + sEncDirName + "&newName=" + sNewName;
}
}
break;
default:
break;
}
}
function AddCurDirToRar(){
var sNewName=window.prompt("本操作将当前目录下的所有内容压缩为一个RAR文件,请输入RAR文件名称","temp.rar");
if(sNewName!=null){
if(sNewName==""){
alert("更名失败:文件名不能为空!");
}
else if(sNewName.indexOf(" ")>-1){
alert("由于命令行的限制,压缩文件名不能包含空格!");
}
else{
sNewName = document.all==null ? sNewName.urlEnc() : urlEnc(sNewName);
window.location.href="FilesOper.aspx?act=rar&d=" + iCurDirPage + "&f=" + iCurFilePage + "&path=" + sEncCurPath + "&key=" + sNewName;
}
}
}
function formAct(sAct){
var bSel=false;
var oColl;
var k;
oColl=document.getElementsByName("SubDir");
if(oColl && oColl.length>0){
for(k=0;k<oColl.length;k++){
if(oColl[k].tagName=="INPUT" && oColl[k].checked){
bSel=true;
break;
}
}
}
if(!bSel){
oColl=document.getElementsByName("SubFile");
if(oColl && oColl.length>0){
for(k=0;k<oColl.length;k++){
if(oColl[k].tagName=="INPUT" && oColl[k].checked){
bSel=true;
break;
}
}
}
}
if(bSel || sAct=="paste"){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -