2016-05-16 10 views
0

Ich benutze Webforms und ich biete eine Möglichkeit zum Download von Dateien. Ihre Namen haben jedoch Leerzeichen und Kommas. Wie kann sichergestellt werden, dass alle Dateinamen vorhanden sind? zB wenn ich einen Namen wie:HttpResponse Zip-Datei herunterladen schneidet Zip-Dateiname

1991.02.21 1111, ABCD, restofmyfilename.zip
alles, was ich bekommen, während dowloading ist
1991-02-21

Codeteil:

  Response.ContentType = "application/zip"; 
      Response.AddHeader("content-disposition", "attachment;filename=" + response.FileName); 
      Response.BinaryWrite(response.Bytes); 
      Response.End(); 

Antwort

1

Haben Sie versucht, den Dateinamen in Anführungszeichen zu schreiben? Zum Beispiel:

Response.AddHeader("content-disposition", "attachment;filename=\"" + response.FileName + "\""); 
+0

Das würde wahrscheinlich den Trick tun. Aber so wie du das formuliert hast, sollte es ein Kommentar sein, keine Antwort. Mir ist klar, dass du noch keine Kommentare zu den Fragen anderer Leute schreiben kannst, aber du könntest dies zu einer Antwort gemacht haben, indem du einfach einen einzigen Liner hinzufügst, wo du zeigst, wie man die Zitate hinzufügt. Ich schlage vor, Sie aktualisieren die Antwort und tun genau das ... – user1429080

+0

Danke. Beispiel hinzugefügt. – Gabe

0

können Sie leicht die Dateinamen ändern weiße Flächen zu vermeiden:

string fileName = response.FileName.Replace(' ','_'); 

diese dann als Dateiname in Ihrem Code verwenden.