米奇天空

梦想与激情同在

 

根据url地址生成静态页面

最近在做一个新闻系统,前台新闻页面要生成HTML静态页面,
自己找了一些资料,终于达到预期效果
现分享如下:
using System.IO;
using System.Text;
using System.Net;
using System.Configuration;

private void Button1_Click(object sender, System.EventArgs e)
        
{
            Encoding code 
= Encoding.GetEncoding("utf-8");
            StreamReader sr 
= null;
            StreamWriter sw 
= null;
            
string str = null;

            
//读取远程路径
            WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
            WebResponse myTemp 
= temp.GetResponse();
            sr 
= new StreamReader(myTemp.GetResponseStream(), code);
            
//读取
            try
            
{
                sr 
= new StreamReader(myTemp.GetResponseStream(), code);
                str 
= sr.ReadToEnd();

            }

            
catch (Exception ex)
            
{
                
throw ex;
            }

            
finally
            
{
                sr.Close();
            }

            
string   path   =   HttpContext.Current.Server.MapPath("../news");//取得新闻当前文件夹 
            DateTime   year   =   DateTime.Now;   
            
string   years   =   Convert.ToString(year.Year);//当前年   
            string   month   =   Convert.ToString(year.Month);//当前月   
            string   CurrentPath   =   path   +   "/"   +   years;   //设置当前年目录   
                     if(Directory.Exists(CurrentPath)==false)   //若该目录不存在,创建该目录   
                  Directory.CreateDirectory(CurrentPath);   
            
string   CurrentMonthPath   =   CurrentPath   +   "/"   +   month;//设置当前月目录   
            if(Directory.Exists(CurrentMonthPath)==false)   //若该目录不存在,创建该目录   
                  Directory.CreateDirectory(CurrentMonthPath);   
            
            
string fileName = DateTime.Now.ToString("ddHHmmss"+ ".htm";

            
//写入
            try
            
{
                sw 
= new StreamWriter(CurrentMonthPath+"/" + fileName, false, code);
                sw.Write(str);
                sw.Flush();

            }

            
catch (Exception ex)
            
{
                
throw ex;
            }

            
finally
            
{
                sw.Close();
                Response.Write(
"恭喜<a href="+CurrentMonthPath+"/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
                Response.Write(CurrentMonthPath
+"/"+fileName);
            }


        }

posted on 2007-06-26 12:52  米奇  阅读(609)  评论(0编辑  收藏  举报

导航