[C#] Delete the uploaded file in IIS server
หลังจากที่ทำการบันทึกไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิสแล้ว หลังจากนำไฟล์นั้นไปทำงานจนเสร็จ หากต้องการที่จะลบไฟล์ออกไปจะทำอย่างไรนั้น ขั้นตอนไม่ต่างไปจากการลบไฟล์ที่เก็บอยู่ในเครื่องเท่าไหร่ แต่ว่ามีการใช้ HostingEnvironment Class ที่อยู่ใน Namespace: System.Web.Hosting มาช่วย
-
การลบไฟล์จาก directory ที่เก็บอยู่ในเครื่องแบบธรรมดา
- ใส่ using System.IO;
- สร้่างตัวแปรมาเก็บ path ที่เก็บไฟล์
string path = @”c:\temp\MyTest.txt”; - ทำการลบไฟล์
File.Delete(path);
-
การลบไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิส
- ใส่ using System.IO;
- สร้างออบเจ็กต์ FileIn จาก System.IO.FileInfo class
FileInfo FileIn = new FileInfo(System.Web.Hosting.HostingEnvironment.MapPath(“~/Compare2File/”+path)); ในที่นี้จะทำการลบไฟล์ที่ C:\Inetpub\wwwroot\SimDetect\Compare2File - ตรวจสอบว่าไฟล์นั้นมีอยู่หรือไม่โดยใช้ FileIn.Exists
- ทำการลบไฟล์โดยใช้ FileIn.Delete
- ตัวอย่างโค้ด
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