快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

远程获取内容,并将内容存在本地电脑上,包括任何文件

<%
\\\'------------------------------------------------------------------------
\\\'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小偷(远程数据获取)程序入门教程
    微笑服务 优质保证 索取样品