亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

網頁編輯器fckeditor asp版本的文件重命名

2024-07-21 02:53:34
字體:
來源:轉載
供稿:網友
最近不得不研究FCKEDITOR,而且是ASP版本。對其文件上傳后的重命名,很郁悶。下面記錄我修改的過程,部分函數來自網絡。
 
定位到:editor/filemanager/connectors/asp/io.asp 
主要是修改:SanitizeFileName這個函數,并添加取得擴展名和文件重命名的方法,詳細代碼如下:
復制代碼代碼如下:

' Do a cleanup of the file name to avoid possible problems 
function SanitizeFileName( sNewFileName ) 
Dim oRegex 
Dim oExt 
Set oRegex = New RegExp 
oRegex.Global = True 

if ( ConfigForceSingleExtension = True ) then 
oRegex.Pattern = "/.(?![^.]*$)" 
sNewFileName = oRegex.Replace( sNewFileName, "_" ) 
'取得文件擴展名 
sNewFileName = makefilename(now())"."&GetExtend(sNewFileName) 
end if 

' remove / / | : ? * " < > and control characters 
oRegex.Pattern = "(//|//|/||:|/?|/*|""|/<|/>|[/u0000-/u001F]|/u007F)" 
SanitizeFileName = oRegex.Replace( sNewFileName, "_" ) 

Set oRegex = Nothing 
end function 

Function GetExtend(filename) 
dim tmp 
if filename<>"" then 
tmp=mid(filename,instrrev(filename,".")+1,len(filename)-instrrev(filename,".")) 
tmp=LCase(tmp) 
if instr(1,tmp,"asp")>0 or instr(1,tmp,"php")>0 or instr(1,tmp,"php3")>0 or instr(1,tmp,"aspx")>0 then 
getextend="txt" 
else 
getextend=tmp 
end if 
else 
getextend="" 
end if 
End Function 

function makefilename(fname) 
fname = fname '前fname為變量,后fname為函數參數引用 
fname = replace(fname,"-","") 
fname = replace(fname," ","") 
fname = replace(fname,":","") 
fname = replace(fname,"PM","") 
fname = replace(fname,"AM","") 
fname = replace(fname,"上午","") 
fname = replace(fname,"下午","") 
makefilename = fname 
end function 

懶得改的話就直接拷貝下面的代碼: 
復制代碼代碼如下:

<% 
' FCKeditor - The text editor for Internet - http://www.fckeditor.net 
' Copyright (C) 2003-2009 Frederico Caldeira Knabben 

' == BEGIN LICENSE == 

' Licensed under the terms of any of the following licenses at your 
' choice: 

' - GNU General Public License Version 2 or later (the "GPL") 
' http://www.gnu.org/licenses/gpl.html 

' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 
' http://www.gnu.org/licenses/lgpl.html 

' - Mozilla Public License Version 1.1 or later (the "MPL") 
' http://www.mozilla.org/MPL/MPL-1.1.html 

' == END LICENSE == 

' This file include IO specific functions used by the ASP Connector. 
%> 
<% 
function CombinePaths( sBasePath, sFolder) 
sFolder = replace(sFolder, "/", "/") 
CombinePaths = RemoveFromEnd( sBasePath, "/" ) & "/" & RemoveFromStart( sFolder, "/" ) 
end function 

function CombineLocalPaths( sBasePath, sFolder) 
sFolder = replace(sFolder, "/", "/") 
' The RemoveFrom* functions use RegExp, so we must escape the / 
CombineLocalPaths = RemoveFromEnd( sBasePath, "//" ) & "/" & RemoveFromStart( sFolder, "//" ) 
end function 

Function GetResourceTypePath( resourceType, sCommand ) 
if ( sCommand = "QuickUpload") then 
GetResourceTypePath = ConfigQuickUploadPath.Item( resourceType ) 
else 
GetResourceTypePath = ConfigFileTypesPath.Item( resourceType ) 
end if 
end Function 

Function GetResourceTypeDirectory( resourceType, sCommand ) 
if ( sCommand = "QuickUpload") then 

if ( ConfigQuickUploadAbsolutePath.Item( resourceType ) <> "" ) then 
GetResourceTypeDirectory = ConfigQuickUploadAbsolutePath.Item( resourceType ) 
else 
' Map the "UserFiles" path to a local directory. 
GetResourceTypeDirectory = Server.MapPath( ConfigQuickUploadPath.Item( resourceType ) ) 
end if 
else 
if ( ConfigFileTypesAbsolutePath.Item( resourceType ) <> "" ) then 
GetResourceTypeDirectory = ConfigFileTypesAbsolutePath.Item( resourceType ) 
else 
' Map the "UserFiles" path to a local directory. 
GetResourceTypeDirectory = Server.MapPath( ConfigFileTypesPath.Item( resourceType ) ) 
end if 
end if 
end Function 

Function GetUrlFromPath( resourceType, folderPath, sCommand ) 
GetUrlFromPath = CombinePaths( GetResourceTypePath( resourceType, sCommand ), folderPath ) 
End Function 

Function RemoveExtension( fileName ) 
RemoveExtension = Left( fileName, InStrRev( fileName, "." ) - 1 ) 
End Function 

Function ServerMapFolder( resourceType, folderPath, sCommand ) 
Dim sResourceTypePath 
' Get the resource type directory. 
sResourceTypePath = GetResourceTypeDirectory( resourceType, sCommand ) 

' Ensure that the directory exists. 
CreateServerFolder sResourceTypePath 

' Return the resource type directory combined with the required path. 
ServerMapFolder = CombineLocalPaths( sResourceTypePath, folderPath ) 
End Function 

Sub CreateServerFolder( folderPath ) 
Dim oFSO 
Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) 

Dim sParent 
sParent = oFSO.GetParentFolderName( folderPath ) 

' If folderPath is a network path (//server/folder/) then sParent is an empty string. 
' Get out. 
if (sParent = "") then exit sub 

' Check if the parent exists, or create it. 
If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent ) 

If ( oFSO.FolderExists( folderPath ) = False ) Then 
On Error resume next 
oFSO.CreateFolder( folderPath ) 

if err.number<>0 then 
dim sErrorNumber 
Dim iErrNumber, sErrDescription 
iErrNumber = err.number 
sErrDescription = err.Description 

On Error Goto 0 

Select Case iErrNumber 
Case 52 
sErrorNumber = "102" ' Invalid Folder Name. 
Case 70 
sErrorNumber = "103" ' Security Error. 
Case 76 
sErrorNumber = "102" ' Path too long. 
Case Else 
sErrorNumber = "110" 
End Select 

SendError sErrorNumber, "CreateServerFolder(" & folderPath & ") : " & sErrDescription 
end if 

End If 

Set oFSO = Nothing 
End Sub 

Function IsAllowedExt( extension, resourceType ) 
Dim oRE 
Set oRE = New RegExp 
oRE.IgnoreCase = True 
oRE.Global = True 

Dim sAllowed, sDenied 
sAllowed = ConfigAllowedExtensions.Item( resourceType ) 
sDenied = ConfigDeniedExtensions.Item( resourceType ) 

IsAllowedExt = True 

If sDenied <> "" Then 
oRE.Pattern = sDenied 
IsAllowedExt = Not oRE.Test( extension ) 
End If 

If IsAllowedExt And sAllowed <> "" Then 
oRE.Pattern = sAllowed 
IsAllowedExt = oRE.Test( extension ) 
End If 

Set oRE = Nothing 
End Function 

Function IsAllowedType( resourceType ) 
Dim oRE 
Set oRE = New RegExp 
oRE.IgnoreCase = False 
oRE.Global = True 
oRE.Pattern = "^(" & ConfigAllowedTypes & ")$" 

IsAllowedType = oRE.Test( resourceType ) 

Set oRE = Nothing 
End Function 

Function IsAllowedCommand( sCommand ) 
Dim oRE 
Set oRE = New RegExp 
oRE.IgnoreCase = True 
oRE.Global = True 
oRE.Pattern = "^(" & ConfigAllowedCommands & ")$" 

IsAllowedCommand = oRE.Test( sCommand ) 

Set oRE = Nothing 
End Function 

function GetCurrentFolder() 
dim sCurrentFolder 
dim oRegex 

sCurrentFolder = Request.QueryString("CurrentFolder") 
If ( sCurrentFolder = "" ) Then sCurrentFolder = "/" 

' Check the current folder syntax (must begin and start with a slash). 
If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/" 
If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder 

' Check for invalid folder paths (..) 
If ( InStr( 1, sCurrentFolder, ".." ) <> 0 OR InStr( 1, sCurrentFolder, "/" ) <> 0) Then 
SendError 102, "" 
End If 

Set oRegex = New RegExp 
oRegex.Global = True 
oRegex.Pattern = "(//.)|(//)|([//:/*/?/""/</>/|]|[/u0000-/u001F]|/u007F)" 

if (oRegex.Test(sCurrentFolder)) Then 
SendError 102, "" 
End If 

GetCurrentFolder = sCurrentFolder 
end function 

' Do a cleanup of the folder name to avoid possible problems 
function SanitizeFolderName( sNewFolderName ) 
Dim oRegex 
Set oRegex = New RegExp 
oRegex.Global = True 

' remove . / / | : ? * " < > and control characters 
oRegex.Pattern = "(/.|//|//|/||:|/?|/*|""|/<|/>|[/u0000-/u001F]|/u007F)" 
SanitizeFolderName = oRegex.Replace( sNewFolderName, "_" ) 

Set oRegex = Nothing 
end function 

' Do a cleanup of the file name to avoid possible problems 
function SanitizeFileName( sNewFileName ) 
Dim oRegex 
Dim oExt 
Set oRegex = New RegExp 
oRegex.Global = True 

if ( ConfigForceSingleExtension = True ) then 
oRegex.Pattern = "/.(?![^.]*$)" 
sNewFileName = oRegex.Replace( sNewFileName, "_" ) 
'取得文件擴展名 
sNewFileName = makefilename(now())&"."&GetExtend(sNewFileName) 
end if 

' remove / / | : ? * " < > and control characters 
oRegex.Pattern = "(//|//|/||:|/?|/*|""|/<|/>|[/u0000-/u001F]|/u007F)" 
SanitizeFileName = oRegex.Replace( sNewFileName, "_" ) 

Set oRegex = Nothing 
end function 

Function GetExtend(filename) 
dim tmp 
if filename<>"" then 
tmp=mid(filename,instrrev(filename,".")+1,len(filename)-instrrev(filename,".")) 
tmp=LCase(tmp) 
if instr(1,tmp,"asp")>0 or instr(1,tmp,"php")>0 or instr(1,tmp,"php3")>0 or instr(1,tmp,"aspx")>0 then 
getextend="txt" 
else 
getextend=tmp 
end if 
else 
getextend="" 
end if 
End Function 

function makefilename(fname) 
fname = fname '前fname為變量,后fname為函數參數引用 
fname = replace(fname,"-","") 
fname = replace(fname," ","") 
fname = replace(fname,":","") 
fname = replace(fname,"PM","") 
fname = replace(fname,"AM","") 
fname = replace(fname,"上午","") 
fname = replace(fname,"下午","") 
makefilename = fname 
end function 


' This is the function that sends the results of the uploading process. 
Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg ) 
Response.Clear 
Response.Write "<script type=""text/javascript"">" 
' Minified version of the document.domain automatic fix script (#1919). 
' The original script can be found at _dev/domain_fix_template.js 
Response.Write "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:/.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" 

Response.Write "window.parent.OnUploadCompleted(" & errorNumber & ",""" & Replace( fileUrl, """", "/""" ) & """,""" & Replace( fileName, """", "/""" ) & """,""" & Replace( customMsg , """", "/""" ) & """) ;" 
Response.Write "</script>" 
Response.End 
End Sub 
%> 


注:相關教程知識閱讀請移步到編輯器頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲xxxxx| 国产亚洲综合久久| 国产精品丝袜久久久久久高清| 亚洲男人天堂手机在线| 欧美久久精品一级黑人c片| 亚洲精品视频久久| 亚洲аv电影天堂网| 亚洲影院高清在线| 91爱视频在线| 91精品国产91久久| 亚洲欧美一区二区三区四区| 亚洲第一精品夜夜躁人人躁| 亚洲女人被黑人巨大进入al| 97香蕉超级碰碰久久免费软件| 久久精品国产亚洲7777| 亚洲一区二区在线| 一本大道亚洲视频| 国产精品美乳在线观看| 欧美性猛交xxxx| 亚洲人精选亚洲人成在线| 亚洲人成网站免费播放| 亚洲综合在线做性| 91在线观看免费高清完整版在线观看| 日韩激情av在线播放| 狠狠综合久久av一区二区小说| 久久久中精品2020中文| 欧美香蕉大胸在线视频观看| 久久久免费精品| 91精品在线播放| 欧美壮男野外gaytube| 97超视频免费观看| 中文字幕在线国产精品| 最好看的2019的中文字幕视频| 北条麻妃99精品青青久久| 国产精品白嫩美女在线观看| 国内精品久久久久影院 日本资源| 久久久女女女女999久久| 色婷婷av一区二区三区久久| 国产精品久久久久久av福利| 91av在线免费观看视频| 欧美多人乱p欧美4p久久| 欧美裸身视频免费观看| 国产精品高潮在线| 亚洲自拍偷拍视频| 97视频在线观看网址| 日韩电视剧在线观看免费网站| 国产精品久久久久久久久免费| 免费97视频在线精品国自产拍| 亚洲高清av在线| 亚洲男人天堂2019| 成人国产精品日本在线| 久久久久久香蕉网| 日韩亚洲成人av在线| 国产xxx69麻豆国语对白| 91中文精品字幕在线视频| 亚洲国产又黄又爽女人高潮的| 欧美日韩国产综合视频在线观看中文| 欧美视频在线观看免费网址| 日韩大片在线观看视频| 国产91色在线| 精品视频久久久久久久| 欧美乱大交xxxxx| 国产不卡精品视男人的天堂| 成人h猎奇视频网站| 91免费的视频在线播放| 日韩精品免费在线视频| 91大神福利视频在线| 精品一区二区三区四区在线| 亚洲a级在线观看| 久久久久久综合网天天| 日韩av综合网站| 亚洲自拍中文字幕| 国产欧美日韩中文字幕| 亚洲欧美国产另类| 日韩在线视频网站| 久久久久久久一| 91精品视频播放| 精品在线小视频| 热草久综合在线| 欧美性极品xxxx做受| 7m第一福利500精品视频| 91老司机精品视频| 日韩精品高清视频| 91免费看片网站| 亚洲伊人一本大道中文字幕| 日韩高清电影免费观看完整版| 国产精品免费一区二区三区都可以| 在线观看欧美www| 色综合色综合久久综合频道88| 亚洲乱码一区二区| 国产精品综合网站| 欧美日韩裸体免费视频| 午夜精品三级视频福利| 欧美成人剧情片在线观看| 亚洲国产精品系列| 91视频国产一区| 亚洲视频综合网| 色婷婷av一区二区三区在线观看| 欧美成人免费一级人片100| 国产精品入口日韩视频大尺度| 国产成人97精品免费看片| 欧美做爰性生交视频| 久久精品99久久香蕉国产色戒| 欧美日韩在线视频一区二区| 久久久久久久一区二区三区| 久久影视电视剧免费网站| 欧美激情18p| 91免费人成网站在线观看18| 亚洲国产私拍精品国模在线观看| 国产成人精品久久二区二区91| 日本精品一区二区三区在线播放视频| 日韩av成人在线| 国产成人精品久久二区二区| 色妞色视频一区二区三区四区| 久久久久久国产精品| 国产丝袜一区二区三区| 亚洲视频自拍偷拍| 播播国产欧美激情| 国产精品丝袜白浆摸在线| 亚洲欧美激情视频| 久久视频在线免费观看| 国产在线一区二区三区| 国产一区二区三区中文| 欧美性生交xxxxx久久久| 欧美xxxx做受欧美.88| 亚洲欧洲午夜一线一品| 日韩成人av在线| 欧美精品一区二区三区国产精品| 亚洲综合社区网| 欧美成人午夜视频| 最近2019中文免费高清视频观看www99| 日韩欧美亚洲范冰冰与中字| 国产精品入口免费视频一| 亚洲国产91精品在线观看| 亚洲黄色av网站| 亚洲国产精品久久91精品| 日韩电影在线观看免费| 久久久久久久激情视频| 日韩av中文字幕在线免费观看| 久久6免费高清热精品| 国产精品∨欧美精品v日韩精品| 国产精品爽黄69天堂a| 久久久久久欧美| 精品中文字幕久久久久久| 欧美俄罗斯性视频| 国产一区二区三区三区在线观看| 欧美极品少妇全裸体| 97国产真实伦对白精彩视频8| 国产精品精品一区二区三区午夜版| 亚洲成人亚洲激情| 国产精品免费福利| 久久香蕉频线观| 亚洲欧美国产一本综合首页| 色综合久久精品亚洲国产| 国产欧美一区二区三区久久| 青草热久免费精品视频| 在线播放国产精品| 色悠久久久久综合先锋影音下载| 久久69精品久久久久久国产越南| 欧美成人在线网站| 91在线网站视频| 亚洲成人av在线播放| 亚洲老板91色精品久久| 综合激情国产一区|