2016-05-23 5 views
-2

ich Dateien hochladen, aber ich weiß nicht, wie sie löschen:wie uploaded Bild löschen auf asp.net

  string path = Server.MapPath(".") + "\\userfiles\\"; 
      //2-get and check file etention 
      string[] validExt = { ".jpg", ".gif", ".png" }; 
      string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName); 
      if (Array.IndexOf(validExt, ext.ToLower()) < 0) 
      { 
       return; 
      } 
      //3-get and check file size 
      long size = FileUpload1.PostedFile.ContentLength; 
      size /= 1024; 
      if (size > 2024) 
      { 

       return; 
      } 
      if (size == 0) 
      { 
       return; 
      } 
      //4-get file name 
      string filename = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName); 


      //5-check file exsist and if (true) generate new name 
      while (System.IO.File.Exists(path + "\\" + filename)) 
      { 
       filename = "1" + filename; 
      } 
      //6-savefile to server 
      FileUpload1.PostedFile.SaveAs(path + filename); 
      //we can save file name in to the data base 
      Session.Add("pic", "userfiles/" + filename); 

Kann mir helfen und sagen, wie Bilder in der anderen Seite löschen? ich speichern Sie die Bildadresse in der Datenbank wie userfiles/a.jpg

ich keine Bilder mit diesem Code löschen:

System.IO.File.Delete("~/" + adver.Pic);

+0

Siehe bitte [Schreiben Sie die perfekte Frage] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). – HABO

Antwort

2

Ihr Code zeigt, dass Sie variablen Dateinamen in Session speichern. Um die Dateinamen in Session-Variablen verwenden Sie den Code unten gespeichert zu bekommen -

System.IO.File.Delete("~/" + Session("pic")) 

Wenn Sie Datenbank verwenden dann abrufen pls den Dateipfad von DB und dann wie oben verwenden [Session Variable mit Dateipfad Variable ersetzen.].

+0

ich mache was du sagst aber es hat nicht funktioniert. Ich benutze den Code "File.Delete (adver.Pic);" Mein Dateipfad ist in adver.pic, aber es funktioniert nicht –

0

Bedeutet adver.Pic enthält nicht den korrekten zu löschenden Dateinamen. Um die Dinge zu vereinfachen, füge ich ein weiteres Beispiel hinzu. Ich denke, dass Sie Änderungen vornehmen können Ihre bedarfs-

C# -Code

private void UploadFileExample() 
{ 
string s_FileName = null; 
//Upload the file 
fileupload1.PostedFile.SaveAs(Server.MapPath("~/Uploads/userfiles/" + fileupload1.FileName)); 
//Get File Name of the uploaded file 
s_FileName = System.IO.Path.GetFileName(fileupload1.PostedFile.FileName); 
//Now to delete the file use below code 
System.IO.File.Delete("~/Uploads/userfiles/" + s_FileName); 
} 

Ich bin kein C# Coder zur Suite, ich habe gerade über Code umgewandelt von unten VB-Code -

Private Sub UploadFileExample()  
Dim s_FileName as String  
    fileupload1.PostedFile.SaveAs(Server.MapPath("~/Uploads/userfiles/" + fileupload1.FileName))  
    s_FileName = System.IO.Path.GetFileName(fileupload1.PostedFile.FileName)  
    System.IO.File.Delete("~/Uploads/userfiles/" + s_FileName) 
End Sub 

Let Ich weiß, wenn Sie weitere Hilfe benötigen.