[C#] Delete the uploaded file in IIS server

Delete_the_uploaded_file_in_IIS_server_main.jpg

หลังจากที่ทำการบันทึกไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิสแล้ว หลังจากนำไฟล์นั้นไปทำงานจนเสร็จ หากต้องการที่จะลบไฟล์ออกไปจะทำอย่างไรนั้น ขั้นตอนไม่ต่างไปจากการลบไฟล์ที่เก็บอยู่ในเครื่องเท่าไหร่ แต่ว่ามีการใช้ HostingEnvironment Class ที่อยู่ใน Namespace:  System.Web.Hosting มาช่วย

  • การลบไฟล์จาก directory ที่เก็บอยู่ในเครื่องแบบธรรมดา

  1. ใส่ using System.IO;
  2. สร้่างตัวแปรมาเก็บ path ที่เก็บไฟล์
    string path = @”c:\temp\MyTest.txt”;
  3. ทำการลบไฟล์
    File.Delete(path);
  • การลบไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิส

  1. ใส่ using System.IO;
  2. สร้างออบเจ็กต์ FileIn จาก System.IO.FileInfo class
    FileInfo FileIn = new FileInfo(System.Web.Hosting.HostingEnvironment.MapPath(“~/Compare2File/”+path)); ในที่นี้จะทำการลบไฟล์ที่ C:\Inetpub\wwwroot\SimDetect\Compare2File
  3. ตรวจสอบว่าไฟล์นั้นมีอยู่หรือไม่โดยใช้ FileIn.Exists
  4. ทำการลบไฟล์โดยใช้ FileIn.Delete
  5. ตัวอย่างโค้ด
        public void DeleteFile(string []fileName)
        {
            foreach(string path in fileName)
            {
                FileInfo FileIn = new FileInfo(System.Web.Hosting.HostingEnvironment.MapPath("~/Compare2File/"+path));
                if(FileIn.Exists)
                {
                    FileIn.Delete();
                }
            }
        }
    

Leave a comment