手机
当前位置:查字典教程网 >编程开发 >ASP教程 >newasp中下载类
newasp中下载类
摘要:复制代码代码如下:

复制代码 代码如下:

<%

'================================================

'函数名:SaveRemoteFile

'作用:保存远程文件到本地

'参数:strFileName----保存文件的名称

'strRemoteUrl----远程文件URL

'返回值:布尔值True/False

'================================================

FunctionSaveRemoteFile(ByValstrFileName,ByValstrRemoteUrl)

DimoStream,Retrieval,GetRemoteData

SaveRemoteFile=False

OnErrorResumeNext

SetRetrieval=Server.CreateObject("Microsoft.XMLHTTP")

Retrieval.Open"GET",strRemoteUrl,False,"",""

Retrieval.Send

IfRetrieval.readyState<>4ThenExitFunction

IfRetrieval.Status>300ThenExitFunction

GetRemoteData=Retrieval.ResponseBody

SetRetrieval=Nothing

IfLenB(GetRemoteData)>100Then

SetoStream=Server.CreateObject("Adodb.Stream")

oStream.Type=1

oStream.Mode=3

oStream.Open

oStream.WriteGetRemoteData

oStream.SaveToFileServer.MapPath(strFileName),2

oStream.Cancel

oStream.Close

SetoStream=Nothing

Else

ExitFunction

EndIf

IfErr.Number=0Then

SaveRemoteFile=True

Else

Err.Clear

EndIf

EndFunction

%>

复制代码 代码如下:

<%

ClassDownload_Cls

PrivatesUploadDir

PrivatenAllowSize

PrivatesAllowExt

PrivatesOriginalFileName

PrivatesSaveFileName

PrivatesPathFileName

PublicPropertyGetRemoteFileName()

RemoteFileName=sOriginalFileName

EndProperty

PublicPropertyGetLocalFileName()

LocalFileName=sSaveFileName

EndProperty

PublicPropertyGetLocalFilePath()

LocalFilePath=sPathFileName

EndProperty

PublicPropertyLetRemoteDir(ByValstrDir)

sUploadDir=strDir

EndProperty

PublicPropertyLetAllowMaxSize(ByValintSize)

nAllowSize=intSize

EndProperty

PublicPropertyLetAllowExtName(ByValstrExt)

sAllowExt=strExt

EndProperty

PrivateSubClass_Initialize()

OnErrorResumeNext

Script_Object="Scripting.FileSystemObject"

sUploadDir="UploadFile/"

nAllowSize=500

sAllowExt="gif|jpg|png|bmp"

EndSub

PublicFunctionChangeRemote(sHTML)

OnErrorResumeNext

Dims_Content

s_Content=sHTML

OnErrorResumeNext

Dimre,s,RemoteFileUrl,SaveFileName,SaveFileType

Setre=NewRegExp

re.IgnoreCase=True

re.Global=True

re.Pattern="((http|https|ftp|rtsp|mms):(//|){1}(([A-Za-z0-9_-])+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(S*/)((S)+[.]{1}("&sAllowExt&")))"

Sets=re.Execute(s_Content)

Dima_RemoteUrl(),n,i,bRepeat

n=0

'转入无重复数据

ForEachRemoteFileUrlIns

Ifn=0Then

n=n+1

ReDima_RemoteUrl(n)

a_RemoteUrl(n)=RemoteFileUrl

Else

bRepeat=False

Fori=1ToUBound(a_RemoteUrl)

IfUCase(RemoteFileUrl)=UCase(a_RemoteUrl(i))Then

bRepeat=True

ExitFor

EndIf

Next

IfbRepeat=FalseThen

n=n+1

ReDimPreservea_RemoteUrl(n)

a_RemoteUrl(n)=RemoteFileUrl

EndIf

EndIf

Next

'开始替换操作

DimnFileNum,sContentPath,strFilePath

sContentPath=RelativePath2RootPath(sUploadDir)

nFileNum=0

Fori=1Ton

SaveFileType=Mid(a_RemoteUrl(i),InStrRev(a_RemoteUrl(i),".")+1)

SaveFileName=GetRndFileName(SaveFileType)

strFilePath=sUploadDir&SaveFileName

IfSaveRemoteFile(strFilePath,a_RemoteUrl(i))=TrueThen

nFileNum=nFileNum+1

IfnFileNum>0Then

sOriginalFileName=sOriginalFileName&"|"

sSaveFileName=sSaveFileName&"|"

sPathFileName=sPathFileName&"|"

EndIf

sOriginalFileName=sOriginalFileName&Mid(a_RemoteUrl(i),InStrRev(a_RemoteUrl(i),"/")+1)

sSaveFileName=sSaveFileName&SaveFileName

sPathFileName=sPathFileName&sContentPath&SaveFileName

s_Content=Replace(s_Content,a_RemoteUrl(i),sContentPath&SaveFileName,1,-1,1)

EndIf

Next

ChangeRemote=s_Content

EndFunction

PublicFunctionRelativePath2RootPath(url)

'这个主要是实现../转换为实际路径

DimsTempUrl

sTempUrl=url

IfLeft(sTempUrl,1)="/"Then

RelativePath2RootPath=sTempUrl

ExitFunction

EndIf

DimsWebEditorPath

sWebEditorPath=Request.ServerVariables("SCRIPT_NAME")

sWebEditorPath=Left(sWebEditorPath,InStrRev(sWebEditorPath,"/")-1)

DoWhileLeft(sTempUrl,3)="../"

sTempUrl=Mid(sTempUrl,4)

sWebEditorPath=Left(sWebEditorPath,InStrRev(sWebEditorPath,"/")-1)

Loop

RelativePath2RootPath=sWebEditorPath&"/"&sTempUrl

EndFunction

PublicFunctionGetRndFileName(sExt)

DimsRnd

Randomize

sRnd=Int(900*Rnd)+100

GetRndFileName=Year(Now)&Month(Now)&Day(Now)&Hour(Now)&Minute(Now)&Second(Now)&sRnd&"."&sExt

EndFunction

EndClass

%>

【newasp中下载类】相关文章:

一段在asp中加密与解密对应的函数

asp调用二级分类代码

Asp事务处理

叶子asp分页类

VBScript中变量作用域

asp中一段防SQL注入的通用脚本

asp 分页 上一页 下一页代码

asp 中常用的文件处理函数

asp中设置session过期时间方法总结

无组件实现文件上传/下载

上一篇: ubbcode函数
精品推荐
分类导航