亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用asp解析圖片地址,并將其保存

系統 1605 0
導讀:
  現在基于WEB頁的HTML的編輯器在新聞系統,文章系統中用得越來越廣,一個網頁一粘就可以保持原來的樣式,同時圖片也可以在這個頁中保持。但是在使用過程中,如果所粘貼頁中的圖片被刪除,就會在自己的頁面上留下一個大大的“X”,影響美觀。以前只好把這個圖片保存下來,再重新上傳到服務器上,這樣實在麻煩。能不能讓服務器自動去下載圖片保存在服務器并且替換頁面上的鏈接?答案是肯定的。
  要實現這個功能需要經過三個步驟:
  一,取得原頁中的圖片的地址。方法很多,可以用分割字符串,也可以用正則匹配。實踐證明用正則匹配最為簡單。經過分析圖片的地址都保存在 標簽中。我們可以先取得所有這個標簽。過程如下:
  Set objRegExp = New Regexp'設置配置對象
  objRegExp.IgnoreCase = True’忽略大小寫
  objRegExp.Global = True’設置為全文搜索
  objRegExp.Pattern = "<img.>"'為了確保能準確地取出圖片地址所以分為兩層配置:首先找到里面的<img>標簽,然后再取出里面的圖片地址后面的getimgs函數就是實現后一個功能的。 <br>  strs=trim(str) <br>  Set Matches =objRegExp.Execute(strs)’開始執行配置 <br>  For Each Match in Matches <br>  RetStr = RetStr &amp;getimgs( Match.Value )’執行第二輪的匹配 <br>  Next <br>  所有的圖片在里面都是這樣的src="http://圖片的地址",所以可以這樣來取得確切的圖片地址: <br>  function getimgs(str) <br>  getimgs="" <br>  Set objRegExp1 = New Regexp <br>  objRegExp1.IgnoreCase = True <br>  objRegExp1.Global = True <br>  objRegExp1.Pattern = "http://.+?"""’取出里面的地址 <br>  set mm=objRegExp1.Execute(str) <br>  For Each Match1 in mm <br>  getimgs=getimgs&amp;"||"&amp;left(Match1.Value,len(Match1.Value)-1)’把里面的地址串起來備用 <br>  next <br>  end function <br>  取得了所有的圖片的地址,我們就可以進行第二步的操作了。 <br>  二,下載圖片并保存在服務器上。這個又可以分為兩個步驟:一個是取得圖片的內容,另一個是保存在服務器上。取得圖片的內容是通過下面的函數來實現的: <br>  function getHTTPPage(url) <br>  on error resume next <br>  dim http <br>  set http=server.createobject("MSXML2.XMLHTTP")‘使用XMLhttp的方法來獲得圖片的內容 <br>  Http.open "GET",url,false <br>  Http.send() <br>  if Http.readystate4 then <br>  exit function <br>  end if <br>  getHTTPPage=Http.responseBody <br>  set http=nothing <br>  if err.number0 then err.Clear <br>  end function <br>  取得了圖片的內容要保存,給人一種感覺是用FSO來作就可以了,但實際上不行,這樣保存程序就會出錯,因為FSO不支持流式的文件,所以我們要調用另一個對象:ADO.STREM。具體的過程如下: <br>  function saveimage(from,tofile) <br>  dim geturl,objStream,imgs <br>  geturl=trim(from) <br>  imgs=gethttppage(geturl)'取得圖片的具休內容的過程 <br>  Set objStream = Server.CreateObject("ADODB.Stream")'建立ADODB.Stream對象,必須要ADO 2.5以上版本 <br>  objStream.Type =1'以二進制模式打開 <br>  objStream.Open <br>  objstream.write imgs'將字符串內容寫入緩沖 <br>  objstream.SaveToFile server.mappath(tofile),2'-將緩沖的內容寫入文件 <br>  objstream.Close()'關閉對象 <br>  set objstream=nothing <br>  end function <br>  所以只要用一個循環來把剛才取得的地址中的圖片全部保存下來,具體過程如下: <br>  arrimg=split(retstr,"||")'分割字串,取得里面地址列表 <br>  allimg="" <br>  newimg="" <br>  for i=1 to ubound(arrimg) <br>  if arrimg(i)"" and instr(allimg,arrimg(i))  fname=baseurl&amp;cstr(i&amp;mid(arrimg(i),instrrev(arrimg(i),"."))) <br>  saveimage(arrimg(i),fname)‘保存地址的函數,過程見上面 <br>  allimg=allimg&amp;"||"&amp;arrimg(i)'把保存下來的圖片的地址串回起來,以確定要替換的地址 <br>  newimg=newimg&amp;"||"&amp;fname'把本地的地址串回起來 <br>  end if <br>  next <br>  第三步就是替換原來的地址了。具體的過程就是下面了: <br>  arrnew=split(newimg,"||")'取得原來的圖片地址列表 <br>  arrall=split(allimg,"||")'取得已經保存下來的圖片的地址列表 <br>  for i=1 to ubound(arrnew)'執行循環替換原來的地址 <br>  strs=replace(strs,arrall(i),arrnew(i)) <br>  next <br>  cctv=strs <br>  講到這里,這個函數的基本過程就是這樣了,當然可以對它進行改造就可以實現更多的功能,如:加上圖片大小的限制,加上對本地機上的圖片下載的限制,以免造成重復下載圖片。同時也應該看到這個函數的不足之處是只能處理靜態的圖片文件,不能適用程序生成的圖片。 <br>  大家有什么好的意見和建議可以和我聯系:qq:26452218.我手上已有dll化的這個程序。要的也可以和我聯系。 <br><br>本文轉自 <br><a >http://study.qqcf.com/web/251/31560.htm</a></img.>

用asp解析圖片地址,并將其保存


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 老司机深夜福利网站 | 国产成人免费网站在线观看 | 日韩中文字幕一区 | 欧美色香蕉 | 奇米在线视频观看 | 亚洲精品色播一区二区 | 亚洲精品国产手机 | 亚洲精品在线视频观看 | www.婷婷色| 毛片免费全部播放一级 | 看欧美的一级毛片 | 狠狠香蕉 | 亚洲国产乱 | 亚洲一区二区三区四 | 成人在线免费视频播放 | videos欧美丰满肥婆 | 香蕉久久综合精品首页 | 久久国内精品自在自线400部o | 日本高清专区一区二无线 | 国产不卡精品一区二区三区 | 欧美成人毛片一级在线 | 国产一区二区在线观看视频 | 欧美男女性生活视频 | 9久久免费国产精品特黄 | 日本一级α一片免费视频 | 国内精品久久久久不卡 | 国产精品亚洲欧美一区麻豆 | 欧美中文字幕在线视频 | 三级aa久久 | 狠狠狠很橹影院 | 全黄一级裸片视频免费区 | 久久精品一区二区三区日韩 | 国内特级毛片 | 国产亚洲福利精品一区二区 | 91论坛在线 | 99热爱久久99热爱九九热爱 | 私人影院在线免费观看 | 特黄特色一级aa毛片免费观看 | 三人性free孕交欧美 | 国产aaaaaaa毛片 | 免费特黄一级欧美大片 |