Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะดาวน์โหลดไฟล์จาก URL ใน C # ได้อย่างไร


สามารถดาวน์โหลดไฟล์จาก URL โดยใช้เว็บไคลเอ็นต์ . มีอยู่ใน System.Netnamespace

คลาส WebClient มีวิธีการทั่วไปในการส่งข้อมูลไปยังหรือรับข้อมูลจากทรัพยากรในเครื่อง อินทราเน็ต หรืออินเทอร์เน็ตที่ระบุโดย URI

เว็บไคลเอ็นต์สามารถพูดได้ว่าเป็นแอปพลิเคชันหรือเว็บเบราว์เซอร์ (เช่น Google Chrome, Internet Explorer, Opera, Firefox, Safari) ซึ่งติดตั้งในคอมพิวเตอร์และใช้เพื่อโต้ตอบกับเว็บเซิร์ฟเวอร์ตามคำขอของผู้ใช้ โดยพื้นฐานแล้วเป็นแอปพลิเคชันสำหรับผู้บริโภคซึ่งรวบรวมข้อมูลที่ประมวลผลจากเซิร์ฟเวอร์

ไคลเอนต์และเซิร์ฟเวอร์เป็นสองส่วนของการเชื่อมต่อ นี่คือเครื่องสองเครื่องที่แตกต่างกัน ข้อมูลคำขอของไคลเอนต์เว็บ และโดยพื้นฐานแล้วเว็บเซิร์ฟเวอร์นั้นเป็นพีซีที่ออกแบบมาเพื่อรับคำขอจากคอมพิวเตอร์ระยะไกลและส่งข้อมูลที่ร้องขอ เว็บเซิร์ฟเวอร์เป็นผู้รับผิดชอบ สำหรับจัดเก็บข้อมูลเพื่อให้ลูกค้าดูได้และมักจะเป็นเว็บโฮสต์ โฮสต์เว็บอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์เพื่อดูข้อมูลที่เก็บไว้ดังกล่าว

คลาส WebClient ใน C# ใช้คลาส WebRequest เพื่อให้เข้าถึงทรัพยากร อินสแตนซ์ของ WebClient สามารถเข้าถึงข้อมูลด้วยการลงทะเบียนผู้สืบทอด WebRequest ใด ๆ

ด้วยเมธอด WebRequest.RegisterPrefix DownloadFile ใช้สำหรับดาวน์โหลดไฟล์

WebClient Client = new WebClient ();
client.DownloadFile("url","path");

ตัวอย่าง

สมมติว่าเราต้องการดาวน์โหลดรูปภาพจากพาธ "https://downloadfreeimages.jpg" และบันทึกลงในไดเร็กทอรีในเครื่องของคอมพิวเตอร์ ด้านล่างนี้คือโค้ด

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();
      }
   }
}

ผลลัพธ์

ตัวอย่างด้านบนจะดาวน์โหลดรูปภาพจาก URL ที่ให้ไว้และบันทึกลงในเส้นทางที่กำหนด

D:\Demo