|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
<% \\\'------------------------------------------------------------------------ \\\'On Error Resume Next \\\'Set the content type to the specific type that you are sending. \\\'Response.ContentType = "IMAGE/JPEG" \\\'-------------------------------定义输出格式----------------------------- Path=request.querystring("p") sPath = Path if left(lcase(path),7) <> "http://" then \\\'-------------假如前面没有http就是本地文件,交给LocalFile处理------------ LocalFile(path) else \\\'--------------------否则为远程文件,交给RemoteFile处理------------------ RemoteFile(Path) end if \\\'Response.Write err.Description sub LocalFile(Path) \\\'-------------------假如为本地文件则简朴的跳转到该页面------------------- Response.Redirect Path End Sub Sub RemoteFile(sPath) \\\'-------------------------处理远程文件函数------------------------------ FileName = GetFileName(sPath) \\\'-------------GetFileName为把地址转变为合格的文件名过程------------- FileName = Server.MapPath("/UploadFile/Cache/" & FileName) Set objFso = Server.CreateObject("Scripting.FileSystemObject") \\\'Response.Write fileName if objFso.FileExists(FileName) Then \\\'--------------检查文件是否是已经访问过,如是,则简朴跳转------------ Response.Redirect "/uploadfile/cache/" & GetFileName(path) Else \\\'----------------否则的话就先用GetBody函数读取---------------------- \\\'Response.Write Path t = GetBody(Path) \\\'-----------------用二进制方式写到浏览器上-------------------------- Response.BinaryWrite t Response.Flush \\\'-----------------输出缓冲------------------------------------------ SaveFile t,GetFileName(path) \\\'------------------将文件内容缓存到本地路径,以待下次访问----------- End if Set objFso = Nothing End Sub Function GetBody(url) \\\'-----------------------本函数为远程获取内容的函数--------------------- \\\'on error resume next \\\'Response.Write url Set Retrieval = CreateObject("Microsoft.XMLHTTP") \\\'----------------------建立XMLHTTP对象----------------------------- With Retrieval .Open "Get", url, False, "", "" \\\'------------------用Get,异步的方式发送----------------------- .Send \\\'GetBody = .ResponseText GetBody = .ResponseBody \\\'------------------函数返回获取的内容-------------------------- End With Set Retrieval = Nothing \\\'response.Write err.Description End Function Function GetFileName(str) \\\'-------------------------本函数为合格化的文件名函数------------------- str = Replace(lcase(str),"http://","") str = Replace(lcase(str),"//","/") str = Replace(str,"/","") str = replace(str,vbcrlf,"") GetFileName = str End Function sub SaveFile(str,fName) \\\'-------------------------本函数为将流内容存盘的函数------------------- \\\'on error resume next Set objStream = Server.CreateObject("ADODB.Stream") \\\'--------------建立ADODB.Stream对象,必须要ADO 2.5以上版本--------- objStream.Type = adTypeBinary \\\'-------------以二进制模式打开------------------------------------- objStream.Open objstream.write str \\\'--------------------将字符串内容写入缓冲-------------------------- \\\'response.Write fname objstream.SaveToFile "c:inetpubmywebuploadfilecache" & fName,adSaveCreateOverWrite \\\'--------------------将缓冲的内容写入文件-------------------------- \\\'response.BinaryWrite objstream.Read objstream.Close() set objstream = nothing \\\'-----------------------关闭对象,释放资源------------------------- \\\'response.Write err.Description End sub %> 返回类别: 教程 上一教程: ASP进阶之文章在线治理更新(7) 下一教程: 关于ADO数据库连接方面知识的总结 您可以阅读与"远程获取内容,并将内容存在本地电脑上,包括任何文件"相关的教程: · XMLHTTP组件获取远程文件并筛选出目标数据 · 使用XMLHTTP和ADODB.STREAM取得远程文件并保存到本地 · 自动将远程页面的文件中的图片下载到本地服务器 · 利用ASP程序实现将远程页面的所有内容下载到本地 · ASP小偷(远程数据获取)程序入门教程 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |