亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP保存遠程圖片到本地 同時取得第一張圖片并創建縮略圖的代碼

2024-05-04 11:09:12
字體:
來源:轉載
供稿:網友
采集中 或者 在線添加文章中 都可以用到此功能
 
 
 
采集中 或者 在線添加文章中 都可以用到此功能 
俺自己在baidu上搜索的保存遠程圖片到本地的代碼 感覺比較難用點 而且沒有現成的比較全的代碼 俺也看不懂 
俺從 SNA新聞采集系統 For 3.62 (程序制作:ansir)里提取了點函數 用下 比較簡單好用 
以下是函數 
程序代碼 
復制代碼代碼如下:

<% 
'================================================== 
'函數名:CheckDir2 
'作 用:檢查文件夾是否存在 
'參 數:FolderPath ------文件夾地址 
'================================================== 
Function CheckDir2(byval FolderPath) 
dim fso 
folderpath=Server.MapPath(".")&"/"&folderpath 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
If fso.FolderExists(FolderPath) then 
'存在 
CheckDir2 = True 
Else 
'不存在 
CheckDir2 = False 
End if 
Set fso = nothing 
End Function 
'================================================== 
'函數名:MakeNewsDir2 
'作 用:創建新的文件夾 
'參 數:foldername ------文件夾名稱 
'================================================== 
Function MakeNewsDir2(byval foldername) 
dim fso 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
fso.CreateFolder(Server.MapPath(".") &"/" &foldername) 
If fso.FolderExists(Server.MapPath(".") &"/" &foldername) Then 
MakeNewsDir2 = True 
Else 
MakeNewsDir2 = False 
End If 
Set fso = nothing 
End Function 
'================================================== 
'函數名:DefiniteUrl 
'作 用:將相對地址轉換為絕對地址 
'參 數:PrimitiveUrl ------要轉換的相對地址 
'參 數:ConsultUrl ------當前網頁地址 
'================================================== 
Function DefiniteUrl(Byval PrimitiveUrl,Byval ConsultUrl) 
Dim ConTemp,PriTemp,Pi,Ci,PriArray,ConArray 
If PrimitiveUrl="" or ConsultUrl="" or PrimitiveUrl="$False$" Then 
DefiniteUrl="$False$" 
Exit Function 
End If 
If Left(ConsultUrl,7)<>"HTTP://" And Left(ConsultUrl,7)<>"http://" Then 
ConsultUrl= "http://" & ConsultUrl 
End If 
ConsultUrl=Replace(ConsultUrl,"://","://") 
If Right(ConsultUrl,1)<>"/" Then 
If Instr(ConsultUrl,"/")>0 Then 
If Instr(Right(ConsultUrl,Len(ConsultUrl)-InstrRev(ConsultUrl,"/")),".")>0 then 
Else 
ConsultUrl=ConsultUrl & "/" 
End If 
Else 
ConsultUrl=ConsultUrl & "/" 
End If 
End If 
ConArray=Split(ConsultUrl,"/") 
If Left(PrimitiveUrl,7) = "http://" then 
DefiniteUrl=Replace(PrimitiveUrl,"://","://") 
ElseIf Left(PrimitiveUrl,1) = "/" Then 
DefiniteUrl=ConArray(0) & PrimitiveUrl 
ElseIf Left(PrimitiveUrl,2)="./" Then 
DefiniteUrl=ConArray(0) & Right(PrimitiveUrl,Len(PrimitiveUrl)-1) 
ElseIf Left(PrimitiveUrl,3)="../" then 
Do While Left(PrimitiveUrl,3)="../" 
PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-3) 
Pi=Pi+1 
Loop 
For Ci=0 to (Ubound(ConArray)-1-Pi) 
If DefiniteUrl<>"" Then 
DefiniteUrl=DefiniteUrl & "/" & ConArray(Ci) 
Else 
DefiniteUrl=ConArray(Ci) 
End If 
Next 
DefiniteUrl=DefiniteUrl & "/" & PrimitiveUrl 
Else 
If Instr(PrimitiveUrl,"/")>0 Then 
PriArray=Split(PrimitiveUrl,"/") 
If Instr(PriArray(0),".")>0 Then 
If Right(PrimitiveUrl,1)="/" Then 
DefiniteUrl="http://" & PrimitiveUrl 
Else 
If Instr(PriArray(Ubound(PriArray)-1),".")>0 Then 
DefiniteUrl="http://" & PrimitiveUrl 
Else 
DefiniteUrl="http://" & PrimitiveUrl & "/" 
End If 
End If 
Else 
If Right(ConsultUrl,1)="/" Then 
DefiniteUrl=ConsultUrl & PrimitiveUrl 
Else 
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & PrimitiveUrl 
End If 
End If 
Else 
If Instr(PrimitiveUrl,".")>0 Then 
If Right(ConsultUrl,1)="/" Then 
If right(PrimitiveUrl,3)=".cn" or right(PrimitiveUrl,3)="com" or right(PrimitiveUrl,3)="net" or right(PrimitiveUrl,3)="org" Then 
DefiniteUrl="http://" & PrimitiveUrl & "/" 
Else 
DefiniteUrl=ConsultUrl & PrimitiveUrl 
End If 
Else 
If right(PrimitiveUrl,3)=".cn" or right(PrimitiveUrl,3)="com" or right(PrimitiveUrl,3)="net" or right(PrimitiveUrl,3)="org" Then 
DefiniteUrl="http://" & PrimitiveUrl & "/" 
Else 
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & "/" & PrimitiveUrl 
End If 
End If 
Else 
If Right(ConsultUrl,1)="/" Then 
DefiniteUrl=ConsultUrl & PrimitiveUrl & "/" 
Else 
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,"/")) & "/" & PrimitiveUrl & "/" 
End If 
End If 
End If 
End If 
If Left(DefiniteUrl,1)="/" then 
DefiniteUrl=Right(DefiniteUrl,Len(DefiniteUrl)-1) 
End if 
If DefiniteUrl<>"" Then 
DefiniteUrl=Replace(DefiniteUrl,"//","/") 
DefiniteUrl=Replace(DefiniteUrl,"://","://") 
Else 
DefiniteUrl="$False$" 
End If 
End Function 
'================================================== 
'函數名:ReplaceSaveRemoteFile 
'作 用:替換、保存遠程文件 
'參 數:ConStr ------ 要替換的字符串 
'參 數:StarStr ----- 前導 
'參 數:OverStr ----- 
'參 數:IncluL ------ 
'參 數:IncluR ------ 
'參 數:SaveTf ------ 是否保存文件,False不保存,True保存 
'參 數:SaveFilePath- 保存文件夾 
'參 數: TistUrl------ 當前網頁地址 
'================================================== 
Function ReplaceSaveRemoteFile(ConStr,StartStr,OverStr,IncluL,IncluR,SaveTf,SaveFilePath,TistUrl) 
If ConStr="$False$" or ConStr="" Then 
ReplaceSaveRemoteFile="$False$" 
Exit Function 
End If 
Dim TempStr,TempStr2,ReF,Matches,Match,Tempi,TempArray,TempArray2,OverTypeArray 
Set ReF = New Regexp 
ReF.IgnoreCase = True 
ReF.Global = True 
ReF.Pattern = "("&StartStr&").+?("&OverStr&")" 
Set Matches =ReF.Execute(ConStr) 
For Each Match in Matches 
If Instr(TempStr,Match.Value)=0 Then 
If TempStr<>"" then 
TempStr=TempStr & "$Array$" & Match.Value 
Else 
TempStr=Match.Value 
End if 
End If 
Next 
Set Matches=nothing 
Set ReF=nothing 
If TempStr="" or IsNull(TempStr)=True Then 
ReplaceSaveRemoteFile=ConStr 
Exit function 
End if 
If IncluL=False then 
TempStr=Replace(TempStr,StartStr,"") 
End if 
If IncluR=False then 
If Instr(OverStr,"|")>0 Then 
OverTypeArray=Split(OverStr,"|") 
For Tempi=0 To Ubound(OverTypeArray) 
TempStr=Replace(TempStr,OverTypeArray(Tempi),"") 
Next 
Else 
TempStr=Replace(TempStr,OverStr,"") 
End If 
End if 
TempStr=Replace(TempStr,"""","") 
TempStr=Replace(TempStr,"'","") 
Dim RemoteFile,RemoteFileurl,SaveFileName,SaveFileType,ArrSaveFileName,RanNum 
If Right(SaveFilePath,1)="/" then 
SaveFilePath=Left(SaveFilePath,Len(SaveFilePath)-1) 
End If 
If SaveTf=True then 
If CheckDir2(SaveFilePath)=False Then 
If MakeNewsDir2(SaveFilePath)=False Then 
SaveTf=False 
End If 
End If 
End If 
SaveFilePath=SaveFilePath & "/" 
'圖片轉換/保存 
TempArray=Split(TempStr,"$Array$") 
For Tempi=0 To Ubound(TempArray) 
RemoteFileurl=DefiniteUrl(TempArray(Tempi),TistUrl) 
If RemoteFileurl<>"$False$" And SaveTf=True Then'保存圖片 
ArrSaveFileName = Split(RemoteFileurl,".") 
SaveFileType=ArrSaveFileName(Ubound(ArrSaveFileName))'文件類型 
RanNum=Int(900*Rnd)+100 
SaveFileName = SaveFilePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&SaveFileType 
Call SaveRemoteFile(SaveFileName,RemoteFileurl) 
ConStr=Replace(ConStr,TempArray(Tempi),SaveFileName) 
ElseIf RemoteFileurl<>"$False$" and SaveTf=False Then'不保存圖片 
SaveFileName=RemoteFileUrl 
ConStr=Replace(ConStr,TempArray(Tempi),SaveFileName) 
End If 
If RemoteFileUrl<>"$False$" Then 
If UploadFiles="" then 
UploadFiles=SaveFileName 
Else 
UploadFiles=UploadFiles & "|" & SaveFileName 
End if 
End If 
Next 
ReplaceSaveRemoteFile=ConStr 
End function 
'================================================== 
'過程名:SaveRemoteFile 
'作 用:保存遠程的文件到本地 
'參 數:LocalFileName ------ 本地文件名 
'參 數:RemoteFileUrl ------ 遠程文件URL 
'================================================== 
sub SaveRemoteFile(LocalFileName,RemoteFileUrl) 
dim Ads,Retrieval,GetRemoteData 
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP") 
With Retrieval 
.Open "Get", RemoteFileUrl, False, "", "" 
.Send 
GetRemoteData = .ResponseBody 
End With 
Set Retrieval = Nothing 
Set Ads = Server.CreateObject("Adodb.Stream") 
With Ads 
.Type = 1 
.Open 
.Write GetRemoteData 
.SaveToFile server.MapPath(LocalFileName),2 
.Cancel() 
.Close() 
End With 
Set Ads=nothing 
end sub 
'================================================== 
'過程名:GetImg 
'作 用:取得文章中第一張圖片 
'參 數:str ------ 文章內容 
'參 數:strpath ------ 保存圖片的路徑 
'================================================== 
Function GetImg(str,strpath) 
set objregEx = new RegExp 
objregEx.IgnoreCase = true 
objregEx.Global = true 
zzstr=""&strpath&"(.+?)/.(jpg|gif|png|bmp)" 
objregEx.Pattern = zzstr 
set matches = objregEx.execute(str) 
for each match in matches 
retstr = retstr &"|"& Match.Value 
next 
if retstr<>"" then 
Imglist=split(retstr,"|") 
Imgone=replace(Imglist(1),strpath,"") 
GetImg=Imgone 
else 
GetImg="" 
end if 
end function 
%>

以下是 例子 
程序代碼 
復制代碼代碼如下:

<form id="form1" name="form1" method="post" action="?action=test"> 
<textarea name="body" cols="50" rows="5" id="body"> 
<img height="180" src="http://cimg2.163.com/cnews/2006/8/21/200608210738371d0a8.jpg" width="240" border="0" /> 
<img class="left"src="http://news.163.com/img/netease_logo.gif" width="114" /> 
<img height="60" src="http://cimg2.163.com/cnews/2006/8/18/2006081811465369976.jpg" width="120" border="0" /> 
<img height="60" /> </textarea> 
<input type="submit" name="Submit" value="提交" /> 
</form> 
<% 
if request.QueryString("action")="test" then 
'圖片開始的字符串 
FilesStartStr="src=" 
'圖片結束的字符串 
FilesOverStr="gif|jpg|bmp" 
'保存圖片的文件夾 
FilesPath="qq" 
'取得保存圖片的網站URL 自動判斷是絕對 還是相對路徑 該例子中圖片是絕對地址 所以NEWURL等于沒用 如果是../images/123.gif這樣的 就需要指定NEWURL了 
NewsUrl="http://news.163.com" 
'取得文章內容 
Content =Request.Form("body") 
'開始保存圖片 
Content=ReplaceSaveRemoteFile(Content,FilesStartStr,FilesOverStr,False,True,True,FilesPath,NewsUrl) 
'對新聞中的第一張圖片創建縮略圖 
if GetImg(Content,FilesPath)<>"" then 
Imgsrc=GetImg(Content,FilesPath) 
Imgsrc=replace(Imgsrc,FilesPath,"") 
Set Jpeg = Server.CreateObject("Persits.Jpeg") 
Path = Server.MapPath(""&FilesPath&"") & "/"&Imgsrc&"" 
Jpeg.Open Path 
'如果圖片寬小于等于120 高小于等于90 則不創建縮略圖 
if Jpeg.OriginalWidth<=120 and Jpeg.Height<=90 then 
Jpeg.Width = Jpeg.OriginalWidth 
Jpeg.Height = Jpeg.OriginalHeight 
Smallimg=FilesPath&""&GetImg(Content,FilesPath) 
else 
'圖片寬度高度/2 
Jpeg.Width = Jpeg.OriginalWidth / 2 
Jpeg.Height = Jpeg.OriginalHeight / 2 
Jpeg.Save Server.MapPath(""&FilesPath&"") & "/small_"&Imgsrc&"" 
Smallimg=""&FilesPath&"/small_"&Imgsrc&"" 
end if 
end if 
'顯示結果 
response.Write("新聞中的第一張圖片是:") 
response.Write("<img src="&FilesPath&"/"&GetImg(Content,FilesPath)&">") 
response.Write("<br>新聞中的第一張圖片的縮略圖是:") 
response.Write("<img src="&Smallimg&">") 
response.Write("<br>新的新聞內容(圖片為本地):<br>") 
Response.Write(Content) 
Response.End() 
end if 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久久久中文字幕| 欧美激情区在线播放| 亚洲自拍中文字幕| 国产精品精品视频| 亚洲国产精品字幕| 国产精品你懂得| 亚洲精品一区av在线播放| 欧美电影《睫毛膏》| 91精品国产自产91精品| 欧美激情精品久久久久久变态| 中文字幕亚洲激情| 国模精品视频一区二区三区| 国产精品扒开腿做爽爽爽视频| 91精品视频网站| 国产精品久久色| 91午夜理伦私人影院| 国产精品久久久久久久av大片| 亚洲性xxxx| 欧美国产视频一区二区| 中文字幕在线日韩| 欧美午夜精品在线| 欧美一二三视频| 亚洲精品国产精品久久清纯直播| 日韩视频在线免费| 另类色图亚洲色图| 国产丝袜精品第一页| 色老头一区二区三区| 欧美中文字幕在线视频| 欧美激情精品久久久久久变态| 一级做a爰片久久毛片美女图片| 免费97视频在线精品国自产拍| 韩曰欧美视频免费观看| 在线免费看av不卡| 亚洲天堂影视av| 97人洗澡人人免费公开视频碰碰碰| 91视频8mav| 亚洲综合在线播放| 欧美日韩国产中文字幕| 亚洲国产婷婷香蕉久久久久久| 欧美亚洲成人网| 在线观看欧美日韩国产| 国产日韩欧美一二三区| 日韩av123| 亚洲成人在线网| 国产ts一区二区| 久久久999国产精品| 亚洲国产精品系列| 成人欧美一区二区三区在线| 亚洲第一网站免费视频| 日韩欧美高清在线视频| 欧美亚洲在线观看| 2019中文字幕全在线观看| 中文字幕在线看视频国产欧美在线看完整| 亚洲人成77777在线观看网| 国产一区二区香蕉| 精品国产欧美成人夜夜嗨| 97香蕉超级碰碰久久免费的优势| 日本a级片电影一区二区| 日韩一二三在线视频播| 91探花福利精品国产自产在线| 91精品美女在线| 亚洲精品网站在线播放gif| 91欧美精品午夜性色福利在线| 欧美性感美女h网站在线观看免费| 欧美日韩中国免费专区在线看| 亚洲人成免费电影| 亚洲欧美日韩一区二区三区在线| 亚洲字幕一区二区| 久久久精品国产一区二区| 欧美日韩综合视频网址| 国产91露脸中文字幕在线| 亚洲精品国产成人| 久久精品一区中文字幕| 成人a视频在线观看| 日本在线精品视频| 国产成人97精品免费看片| 91在线观看欧美日韩| 欧美激情一区二区三区成人| 亚洲欧洲国产伦综合| 伊人伊成久久人综合网小说| 亚洲精品美女视频| www.日韩不卡电影av| 亚洲国语精品自产拍在线观看| 亚洲奶大毛多的老太婆| 国产狼人综合免费视频| 欧美日产国产成人免费图片| 日韩美女视频中文字幕| 色阁综合伊人av| 色噜噜狠狠狠综合曰曰曰| 亚洲欧美日韩国产成人| 中文字幕日韩在线视频| 国产精品成人在线| 亚洲美女黄色片| 亚洲无av在线中文字幕| 亚洲黄色在线观看| 91在线高清视频| 亚洲综合中文字幕在线| 日韩欧美成人区| 国产精品视频永久免费播放| 国产精品福利片| 国产精品爽黄69天堂a| 成人性生交大片免费看视频直播| 成人综合网网址| 中文字幕亚洲欧美一区二区三区| 色综合久久88色综合天天看泰| 亚洲白虎美女被爆操| 国产成人中文字幕| 午夜精品国产精品大乳美女| 精品亚洲va在线va天堂资源站| 久久久久久久久中文字幕| 国产精品福利在线观看网址| 中文字幕亚洲一区二区三区五十路| 一区二区三区 在线观看视| 精品亚洲一区二区三区在线观看| 97人人做人人爱| 亚洲精品久久久久久久久久久久久| 一本大道香蕉久在线播放29| 日韩电影大片中文字幕| 国产丝袜视频一区| 亚洲电影免费观看高清完整版在线观看| 欧美日韩在线免费观看| 国产一区玩具在线观看| 中文字幕亚洲天堂| 亚洲国产精品人人爽夜夜爽| 欧美多人爱爱视频网站| 国产精品色午夜在线观看| 国产一区红桃视频| 久久亚洲电影天堂| 久久韩国免费视频| 日韩综合视频在线观看| 日韩精品欧美国产精品忘忧草| 97香蕉超级碰碰久久免费软件| 97色在线视频观看| 欧美高清视频一区二区| 九色91av视频| 国产精品久久久久久亚洲调教| 亚洲日本中文字幕免费在线不卡| 国产精品一香蕉国产线看观看| 91久久在线观看| 午夜精品一区二区三区在线播放| 久久免费视频这里只有精品| 欧美丰满片xxx777| 久久精品久久久久电影| 久久天堂电影网| 国产精品久久久久久网站| 精品国产一区二区三区四区在线观看| 日韩av在线资源| 97在线看免费观看视频在线观看| 欧美久久久精品| 亚洲毛片在线免费观看| 爱福利视频一区| 中国人与牲禽动交精品| 成人写真视频福利网| 久久精品免费播放| 亚洲国产精彩中文乱码av| 亚洲成人免费在线视频| 国产成人亚洲精品| 欧美日韩国产精品一区二区不卡中文| 日本一欧美一欧美一亚洲视频| 日韩在线观看网站| 亚洲欧洲xxxx| 国产精品久久久999| 欧美性极品少妇精品网站| 97在线观看免费|