探索设计与体验的融合
Fusion design exploration and experience
新塘新闻动态
News
好的新塘网络营销公司会给客户提出建设性的意见,善于对客户进行良性引导
您的位置:>> 新塘网站首页 >> 技术文章
新塘ASP转静态攻略-ADODB.Stream

    ASP转静态的技术网上介绍很多,有模板法、FSO转静态法等等,各有区别,也各有长处与短处。现介绍另一种转静态网页的方法,利用ADODB.Stream转静态,废话不多说,看下面的例子,可以保存成一个模块,在转程序的时候进行调用。

<%
'生成静态页面方法 
'  path="/myweb2010/"
'  root_path_html = "http://"&Request.ServerVariables("SERVER_NAME")&path&"index.asp"
'  root_path=path&"index.html"  '实际地址根目录
 
'call stream_html(源文件,生成目标的静态页面,生成的编码) 
'call stream_html(Spage,Tpage,"gb2312")
     
 
  
'-------------------产品列表页--------------------
   
sub stream_html(Spage,Tpage,html_code)
    wstr=GetPage(Spage,html_code)
    Call WriteToUTF(Tpage,wstr,html_code)  
end sub
 
  
 '-------------------------------------------------------------------------------

'读取函数
function GetPage(url,codeType)
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
  'response.Write("<br>======"&url)
 dim retrieval
 set retrieval=createObject("Microsoft.XMLHTTP")
 with retrieval
 .Open  "Get",url,false ',"",""
 .Send
 GetPage=BytesToBstr(.ResponseBody,codeType)
 End with
 set retrieval=nothing
 End function
 
 function BytesToBstr(body,cset)
 dim  objstream
 set objstream=server.CreateObject("adodb.stream")
 objstream.Type=1
 objstream.Mode=3
 objstream.open
 objstream.write body
 objstream.Position=0
 objstream.Type=2
 objstream.Charset=cset
 BytesToBstr=objstream.ReadText
 objstream.close
 set objstream=nothing
 End Function
 
 
 'FileUrl 是文件保存的文件名,Str是要写入的内容,CharSet是采用什么编码写入
Sub WriteToUTF(FileUrl,str,CharSet) 
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
 set stm=server.CreateObject("adodb.stream")
 stm.Type=2
 stm.mode=3
 stm.charset=CharSet
 stm.open
 stm.WriteText str
 ' 文件另存为的模式 (1=非覆盖 2=覆盖)
   ' response.Write("<br>FileUrl======"&FileUrl)
 stm.SaveToFile server.MapPath(FileUrl),2
 stm.flush
 stm.Close
 set stm=nothing
end Sub

%>
    大家在制作以UTF-8为编码的网站时,会遇到将网页转为UTF-8编码的网页,会发现转出来的页面会变乱码,主要是因为文件是以ANSI编码保存着,如何才能保存为UTF-8编码成为关键,以上程序只要更改相应编码,就可以解决此问题。

编辑:创意设计工作室

相关链接>>
您对此文有什么评论?
类型: 意见建议 内容报错
网友对此文的评论:
未有评论!