根据 url 保存 图片
根据   url   保存   图片,在ASP页面中有图片,怎么根据图片的URl让用户方便的保存到自己的硬盘上?(C#)
------解决方案-------------------- <% 
 Function ReplaceRemoteUrl(sHTML, sSaveFilePath, sFileExt) 
  '// 
  '//远程保存图片 
  '///////////////////////////////////////////////////// 
  '作 用:替换字符串中的远程文件为本地文件并保存远程文件 
  '参 数: 
  '   sHTML    : 要替换的字符串 
  '   sSavePath  : 保存文件的路径 
  '   sExt     : 执行替换的扩展名 
   Dim s_Content 
   s_Content = sHTML 
  'If IsObjInstalled( "Microsoft.XMLHTTP ") = False then 
  'ReplaceRemoteUrl = s_Content 
  ' Exit Function 
    ' End If 
  '远程图片保存目录,结尾请不要加“/” 
 SaveFilePath= "/upload " 
  '远程图片保存类型 
 FileExt= "jpg|gif|bmp|png " 
   Dim re, RemoteFile, RemoteFileurl,SaveFileName,SaveFileType,arrSaveFileNameS,arrSaveFileName,sSaveFilePaths 
   Set re = new RegExp 
   re.IgnoreCase = True 
   re.Global = True 
   re.Pattern =  "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}( " & sFileExt &  "))) " 
   Set RemoteFile = re.Execute(s_Content) 
   For Each RemoteFileurl in RemoteFile 
     SaveFileType = Replace(Replace(RemoteFileurl, "/ ",  "a "),  ": ",  "a ") 
      'arrSaveFileName = Right(SaveFileType,12) 
 arrSaveFileName = Mid(RemoteFileurl,InStrRev(RemoteFileurl,  "/ ")+1) 
 sSaveFilePaths=sSaveFilePath &  "/ " 
     SaveFileName = sSaveFilePaths & arrSaveFileName 
     Call SaveRemoteFile(SaveFileName, RemoteFileurl) 
     s_Content = Replace(s_Content,RemoteFileurl,SaveFileName) 
   Next 
   ReplaceRemoteUrl = s_Content 
 End Function   
 Sub SaveRemoteFile(LocalFileName,RemoteFileUrl) 
   Dim Ads, Retrieval, GetRemoteData 
   On Error Resume Next 
   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 
 Server.ScriptTimeOut=6000  '页面超时时间 
 url= "http://gamezone.qq.com/a/20040917/000070.htm " '接收的网址 
 code=replace(getHTTPPage(url),vbcrlf, " ") '替换掉代码中的 回车符   
 start=Instr(code, " <html>  ") '开始的代码 这里取网页中有唯一性质的 代码开始 
 over=Instr(code, " </html>  ") '结束的代码 这里取网页中有唯一性质的 代码结束 
 types=mid(code,start,over-start)  'types 变量就是你需要的部分 
  '//这里应该继续对取得后的代码做休整 以便符合自己需要 
  '//我才取的是从 <html> 到 </html>  所以是读整个页面 实际上根据自己需要查看人家的代码 对照下 
  '//实际上还需要一些其他的函数 比如整理HTML标志符的函数, 自动接收远程图片的函数  
  '//还有就是页面的自动跳转等 == 这个就看自己的扩展了 
 types=ReplaceRemoteUrl(types,SaveFilePath,FileExt)//下载远程图片 
 response.write types  ' 测试输出 
  '下边的函数不用管, 包括 打开,读取,网页 
 Function getHTTPPage(Path)  
     t = GetBody(Path) 
     getHTTPPage=BytesToBstr(t, "GB2312 ") 
 End function 
 Function GetBody(url)  
     on error resume next 
     Set Retrieval = CreateObject( "Microsoft.XMLHTTP ")  
     With Retrieval  
     .Open  "Get ", url, False,  " ",  " "  
     .Send  
     GetBody = .ResponseBody 
     End With  
     Set Retrieval = Nothing  
 En