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
相关文章
- 10-28winform自动更新并实现文件的批量异步下载
- 10-280006-目标检测-制作VOC数据集-生成Main下的txt文件
- 10-28创建一个目录info,并在目录中创建一个文件test.txt,把该文件的信息读取出来,并显示出来
- 10-28POI 生成Excel文件并下载
- 10-28MATLAB中TXT数据文件读取并写入元胞数组的方法与步骤
- 10-28从FTP的服务上下载txt文件,下载不了的问题
- 10-28读取sln文件并删除关联工程生成的最小obj文件
- 10-28ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中
- 10-28后端返回的文件下载并修改名称
- 10-28使用FileStream向txt格式的文本文件 "追加" 新内容并读取