zoukankan      html  css  js  c++  java
  • 生成并下载txt类型的文件

    public ActionResult Index()
    {
    return View();
    }
    /// <summary>
    /// 获取网页源码,并将其写入txt文件中,下载到本地
    /// </summary>
    /// <param name="webUrl">输入的网址,如:http://www.17k.com/ </param>
    /// <returns></returns>
    public FileResult DownloadWebSource(string webUrl)
    {
    if (string.IsNullOrEmpty(webUrl.Trim()))
    {
    return null;
    }
    WebClient wc = new WebClient();
    Stream st = wc.OpenRead(webUrl);//打开并读取网页数据
    StreamReader sr = new StreamReader(st, System.Text.Encoding.UTF8);//以流的形式读取数据
    string strContent = sr.ReadToEnd();//读取流数据,最终转换成字符串形式
    string filePath = "/DownLoad/TXT";
    string fileMapPath = Server.MapPath(filePath);//获取该文件夹的虚拟路径相对应的物理路径
    //判断该文件夹是否存在,若不存在,就创建新文件夹
    if (!Directory.Exists(fileMapPath))
    {
    Directory.CreateDirectory(fileMapPath);
    }
    string txtPath = filePath + "/" + Guid.NewGuid().ToString().Replace("-", "").ToUpper() + ".txt";
    string txtMapPath = Server.MapPath(txtPath);//获取该文件的虚拟路径相对应的物理路径
    //文件存在就打开,不存在就创建
    FileStream fs = new FileStream(txtMapPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
    fs.Dispose();//释放资源
    StreamWriter sw = new StreamWriter(txtMapPath, true);//为指定的文件初始化一个新的实例
    sw.Write(strContent);//将获取到的数据写入到该文件中
    sw.Close();//关闭当前流
    return File(txtMapPath, "application/ms-txt", "网页源代码.txt");
    }
    #endregion

  • 相关阅读:
    Django_Setings
    python之event【事件】
    python之递归锁【Rlock】
    python之信号量【Semaphore】
    python的线程锁
    python的多线程和守护线程
    python的错误类型和异常处理
    python之ftp作业【还未完成】
    python之socket运用之传输大文件
    python之socket运用之执行命令
  • 原文地址:https://www.cnblogs.com/xuanhai/p/6781946.html
Copyright © 2011-2022 走看看