【编者按】:网学网asp为您提供直接保存URL图像或网页到服务器本地的类参考,解决您在直接保存URL图像或网页到服务器本地的类学习中工作中的难题,参考学习。
复制代码 代码如下:
<% @ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
Class BoxInfoImg
''传输类的使用方法
''图象上传和上传信息获取CLASS
''用法:
''dim imgUp
''set imgUp=new BoxInfoImg
''属性:
''imgUp.width ''宽
''imgUp.height ''高
''imgUp.imgSize ''大小
''imgUp.imgType ''类型
''imgUp.imgName ''文件名
''imgUp.imgName ''图像文件名:"&
''imgUp.filename ''文件名"&
''imgUp.extName ''扩展名"
''imgUp.DiskPath ''保存位置"
''imgUp.XuPath ''虚拟路径"
''imgUp.NewUrl ''保存后url"
''imgUp.SaveMode ''保存后url"
''方法:
''imgUp.saveImg(fullpath) ''保存图像文件
dim ADOS
dim width,height,imgSize,imgType,imgName,fileName
dim preName,extName
dim SavePath,SaveName,SaveMode
dim DiskPath,XuPath,NewUrl
dim textStr
dim i
Private Sub Class_Initialize
set ADOS=Server.CreateObject("Adodb.Stream")
ADOS.Type=1
ADOS.Mode=3
ADOS.Open
getImageSize
End Sub
Private Sub Class_Terminate
ADOS.close
set ADOS=nothing
End Sub
Public Function getImageSize()
dim ret(3),bFlag,fdata,fsize
fdata=GetWebData(GetStrUrl) ''取得XmlHttp数据
fsize=clng(lenb(fdata)) ''取得数据尺寸
if fsize=0 then
exit function
R_write "无有效数据保存",0
end if
ADOS.Write fdata
ADOS.Position=0
SaveName=iSaveName
SavePath=iSavePath
SaveMode=iSaveMode
''写文本对象读取图像长宽和类型
ADOS.Position=0 ''重置数据开始位置
bFlag=ADOS.read(3)
if isNull(bFlag) then
width=0
height=0
imgSize=0
imgType="unknow"
ret(0)=imgType:ret(1)=width:ret(2)=height:ret(3)=""
getimagesize=ret
exit function
end if
''取文件类型和长宽
select case hex(binVal(bFlag))
case "4E5089":
ADOS.read(15)
ret(0)="png"
ret(1)=BinVal2(ADOS.read(2))
ADOS.read(2)
ret(2)=BinVal2(ADOS.read(2))
case "464947":
ADOS.read(3)
ret(0)="gif"
ret(1)=BinVal(ADOS.read(2))
ret(2)=BinVal(ADOS.read(2))
case "FFD8FF":
dim p1
do
do: p1=binVal(ADOS.Read(1)): loop while p1=255 and not ADOS.EOS
if p1>191 and p1<196 then exit do else ADOS.read(binval2(ADOS.Read(2))-2)
do:p1=binVal(ADOS.Read(1)):loop while p1<255 and not ADOS.EOS
loop while true
ADOS.Read(3)
ret(0)="jpg"
ret(2)=binval2(ADOS.Read(2))
ret(1)=binval2(ADOS.Read(2))
ca