File có thể tải từ URL sử dụng WebClient. Lớp này nằm trong namespace System.Net.
Lớp WebClient cung cấp các phương thức phổ biến để gửi dữ liệu đến hoặc nhận dữ liệu từ bất kỳ tài nguyên local, intranet, hay Internet nào được xác định bởi URI.
Web client có thể hiểu là ứng dụng hoặc trình duyệt web (Google Chrome, Internet Explorer, Opera, Firefox, Safari) cài đặt trên máy tính và dùng để tương tác với Web servers theo yêu cầu của user. Cơ bản là ứng dụng consumer thu thập dữ liệu đã xử lý từ servers.
Client và Server là hai phần của một kết nối, là hai máy riêng biệt. Web client yêu cầu thông tin, web server là máy tính thiết kế để chấp nhận request từ máy tính từ xa và gửi thông tin được yêu cầu. Web server chịu trách nhiệm lưu trữ thông tin để client xem và thường là Web Host. Web host cho phép kết nối đến server để xem thông tin lưu trữ.
Lớp WebClient trong C# dùng WebRequest class để cung cấp quyền truy cập tài nguyên. WebClient instances có thể truy cập dữ liệu với bất kỳ WebRequest descendant nào được đăng ký với WebRequest.RegisterPrefix method. Phương thức DownloadFile dùng để tải file.
WebClient client = new WebClient();
client.DownloadFile("url", "path");
Ví dụ
Giả sử tải ảnh từ "https://downloadfreeimages.jpg" và lưu vào thư mục local:
using System;
using System.Net;
namespace DemoApplication
{
public class Program
{
public static void Main()
{
string url = "https://downloadfreeimages.jpg";
string savePath = @"D:\Demo\FreeImages.jpg";
WebClient client = new WebClient();
client.DownloadFile(url, savePath);
Console.ReadLine();
}
}
}
Kết quả
Ví dụ trên sẽ tải ảnh từ URL và lưu vào đường dẫn chỉ định.
D:\Demo