最近在做一个音乐站,音乐文件嘛。。。一般是从网上收集。。so。。写了一段采集程序。 复制代码 代码如下: <% On Error Resume Next Const uploadPath = "/uploads/" "文件存放路径 Const allowFileExt = "jpg,wma,swf,gif" "允许被采集的文件类型 "Const allowFileSize = "200" Function getFile(url) If url = "" Then Exit Function Else url = Trim(url) End If
if Instr(","&Lcase(allowFileExt)&",",","&fileExt&",") = 0 Then getFile = "文件类型不允许" Exit Function End If
Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP") xmlhttp.open "get",url,false xmlhttp.send "While xmlhttp.readyState <> 4 " xmlhttp.waitForResponse 1000 "Wend If xmlhttp.status <> 200 Then getFile="获取文件出错" Exit Function Else Set folder=Server.CreateObject("Scripting.FileSystemObject") Dim folderName folderName = getNow("Year")&getNow("Month") "文件夹 If folder.FolderExists(Server.MapPath(uploadPath))=False Then folder.CreateFolder Server.MapPath(uploadPath) End If If folder.FolderExists(Server.MapPath(uploadPath & folderName))=False Then folder.CreateFolder Server.MapPath(uploadPath & folderName) End If Set folder=Nothing
file=xmlhttp.ResponseBody If lenb(file) > allowFileSize Then getFile = "文件太大,不能保存!" Exit Function Else Set objAdostream=Server.Createobject("ADODB.Str"&"eam") objAdostream.Open() objAdostream.Type=1 objAdostream.Write(file) objAdostream.SaveToFile(Server.Mappath(uploadPath & folderName &"/" & newFilePath)) objAdostream.SetEOS Set objAdostream=Nothing getFile= "<a href="""&uploadPath & folderName &"/" & newFilePath&""" target=""_balnk"">采集成功</a>" End If End If Set xmlhttp=Nothing End Function %> <script runat="server" language="jscript"> function cleanFileName(str){ str = str.replace(/[^_.a-zA-Zd]/ig,""); str = str.replace(/^[/.]+/,""); return str; } function getNow(n) { d = new Date(); switch (n) { case "Year": return d.getYear(); case "Month": return (d.getMonth() + 1); case "Date": return d.getDate(); }