C# 从网络上下载文件

之前一直不理解如何是从网络上下载文件的…自己试了试懂了

FileStream file = File.CreatWrite(filePath);                          // 创建文件

WebRequest.Creat(url).GetResponse().GetResponseStream().CopyTo(file); // 创建WebRequest对象,获取响应,获取响应流,将响应流写入到文件流

file.Close();                                                         //关闭文件

嗯,这种简洁的代码最喜欢了 (虽然简洁…但是没人愿意看的hhh)

或者也可以写成函数

bool DownloadFile(string url, string toDirectory, string fileName, int timeout = 2000)    //返回值是是否下载成功
{
    string PathCombine(string path1,string path2)    //合成路径
    {
        if (path1.EndsWith("\\"))
        {
            path1 = path1.Substring(0, path1.Length - 1);
        }
        if (path2.StartsWith("\\"))
        {
            path2 = path2.Substring(1);
        }
        return path1 + "\\" + path2;
    }
        
    if(!Directory.Exists(toDirectory))
    {
        Directory.CreatDirectory(toDirectory);
    }
    
    FileStream file = File.OpenWrite(fileName);
    WebRequest request = WebRequest.Creat(url);
    request.Timeout = timeout; //设置请求超时为函数参数
    
    try
    {
        request.GetResponse().GetResponseStream().CopyTo(file);
    }
    catch
    {
        return false;
    }
    
    file.Close();
    return true;

嗯,这样好了一些,因为设置了请求超时

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值