当前位置: 首页 > article >正文

使用 C# 从 Web 下载文件

WebClient 类使得从 Web 下载文件并将其保存在 C# 中的本地文件中变得非常容易。以下代码显示了单击“下载”按钮时程序如何响应。

代码只是创建一个WebClient对象并调用其DownloadFile方法,将远程文件的 URL 和目标文件的名称传递给它。这就是从 Web 下载文件所需要做的全部工作,至少在简单情况下是这样。(如果您需要穿过防火墙或文件管理器不公开,事情就会变得更加复杂。)

完整代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net;

namespace howto_download_file
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string filename = Application.StartupPath;
            if (!filename.EndsWith("\\")) filename += "\\";
            txtLocalFile.Text = filename + "howto_download_file.zip";
        }

        private void btnDownload_Click(object sender, EventArgs e)
        {
            this.Cursor = Cursors.WaitCursor;
            Application.DoEvents();

            try
            {
                // Make a WebClient.
                WebClient web_client = new WebClient();

                // Download the file.
                web_client.DownloadFile(txtRemoteFile.Text, txtLocalFile.Text);

                MessageBox.Show("Done");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Download Error",
                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            this.Cursor = Cursors.Default;
        }
    }
}


http://www.kler.cn/a/449575.html

相关文章:

  • typora数学符号
  • C/C++圣诞树
  • 【086】基于51单片机电子音乐门铃【Proteus仿真+Keil程序+报告+原理图】
  • 怎么实现柔性动态自适应IVR功能
  • 独一无二,万字详谈——Linux之文件管理
  • 本机如何连接虚拟机MYSQL
  • 数据分析实战—IMDB电影数据分析
  • 单元测试mock框架Mockito
  • 如果安装FreeSWICH?
  • 梳理你的思路(从OOP到架构设计)_设计模式Composite模式
  • 支付测试 流程
  • WPSJS:让 WPS 办公与 JavaScript 完美联动
  • lodash常用函数
  • Redis内存碎片详解
  • ue5 pcg(程序内容生成)真的简单方便,就5个节点
  • 基于Python大数据的电影可视化分析系统
  • Jenkins 持续集成部署——Jenkins实战与运维(1)
  • 【多模态聚类】用于无标记视频自监督学习的多模态聚类网络
  • 如何给负载均衡平台做好安全防御
  • 2025前端面试热门题目——计算机网络篇
  • SpringCloud 运用(2)—— 跨服务调度
  • Conda 使用全解析:从入门到精通
  • JavaWeb Servlet的反射优化、Dispatcher优化、视图(重定向)优化、方法参数值获取优化
  • Qt for Python (PySide6)设置程序图标和任务栏图标
  • 【求职面试】大学转专业面试自我介绍模板7篇
  • 解决:websocket 1002 connection rejected 426upgrade required