当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP VBS xmlhttp adodbstream下载和保存图片的代码

ASP
ASP限制只能中文输入的方法
获得jpg文件的实际尺寸
关于页面缓存清除的方法小结
如何更好更快的debug
ASP中缓冲的启用及执行速度的影响
处理二进制数据
如何读出空格
排序方式解决“上下主题”问题(一)
排序方式解决“上下主题”问题(二)
排序方式解决“上下主题”问题(三)
关于ACCESS 2K与ASP的几点想法
提高IIS的安全性
ASP3.0中的流控制能力(1)
ASP3.0中的流控制能力(2)
ASP3.0中的流控制能力(3)
关于JMAIL如何在收件人处指定多个收件人
个人经验:使用asp尽量减少服务器端的工作量
分行模块,自动识别英文和型号数
用IIS+ASP建网站的安全性分析
迁移到 ASP .NET:需考虑的重要问题(1)

用ASP VBS xmlhttp adodbstream下载和保存图片的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 225 ::
收藏到网摘: n/a

函数:
复制代码 代码如下:

function saveFile(data,recfilen)
set Astream=CreateObject("Adodb.Stream")'asp Server.CreateObject("Adodb.Stream")
fxt=mid(recfilen,InStrRev(recfilen,".")+1)
txt=false
if fxt="asp" or fxt="xml" or fxt="aspx" or fxt="php" or fxt="txt" or fxt="jsp" then
txt=true
end if
if txt then
Astream.type=2 '1 bin,2 txt
else
Astream.type=1 '1 bin,2 txt
end if
Astream.Mode = 3' adModeRead =1
'  adModeReadWrite =3
'  adModeRecursive =4194304
'  adModeShareDenyNone =16
'  adModeShareDenyRead =4
'  adModeShareDenyWrite =8
'  adModeShareExclusive =12
'  adModeUnknown =0
'  adModeWrite =2
Astream.open
'Astream.CharSet = "GB2312"
'Astream.LoadFromFile(recfilen) '装载文件
'Assp=Astream.size
Astream.Position =0 '装载文件时设置为Assp
'Astream.Writetext tmpstr00,1
if txt then
data=bytes2bstr(data)
Astream.Writetext data,1
else
Astream.Write data
end if
Astream.SaveToFile recfilen,2
Astream.close
end function
'Server.

function downimg(url)
set oXMLHTTP =CreateObject("Microsoft.XMLHTTP")'asp Server.CreateObject("Microsoft.XMLHTTP")
data_got=""
oXMLHTTP.open "GET",url, false
oXMLHTTP.setRequestHeader "Accept-Encoding"," gzip, deflate"
oXMLHTTP.setRequestHeader "User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 2.0.50727)"
oXMLHTTP.send
rtstatus=oXMLHTTP.status
data_got=oXMLHTTP.responsebody
filename=mid(url,InStrRev(url,"/")+1)
if rtstatus=200 then
data_got=oXMLHTTP.responsebody
saveFile data_got,filename
else
data_got=""
end if
set oXMLHTTP =nothing
end function
function bytes2bstr(vin) '二进制转化为汉字
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
bytes2bstr = strreturn
end function

使用方法:
复制代码 代码如下:

imgurl="http://www.163car.com/UpFile/CarImages/0092/S_b_20051241127326f6uew1s.jpg" '图片
downimg(imgurl)
imgurl="HTTP://login.zydn.net/news.asp" '文字页面
downimg(imgurl)
把代码保存为vbs文件,不需要iis就可以运行~