Wir haben eine .Net Web-Anwendung, wo der Benutzer Dateien herunterladen kann. Der Dateiname die Dateien können dänische Zeichen enthalten kann æ, ø und å und vielleicht einige andere Zeichen einiger foreigh Sprache.Unterschied zwischen ContentDispositionHeaderValue.FileName und ContentDispositionHeaderValue.FileNameStar
Wir verwenden die Klasse HttpResponseMessage die Datei zu senden, wo ContentDispositionHeaderValue als „Anlage“ initialisiert wird.
jedoch die
FileName
Eigenschaft zuweisen nicht für die dänischen Zeichen in IE funktioniert, funktioniert aber, wenn ich den Namen der Datei
FileNameStar
wo der Dateiname wird automatisch verschlüsselt in das richtige Format zuweisen .
So funktioniert das:
Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileNameStar = "filename with æ ø and å"
};
Ich kann jedoch keine Dokumentation finden, warum es automatisch kodiert wird, und welche Browser diese Funktion unterstützen.
Suche im Internet, gibt Vorschläge, dass ich die Zeichenfolge kodieren sollte, bevor Sie es der FileNamestar-Eigenschaft zuweisen. Aber das ist nicht notwendig, wie ich in der http-Trace sehen kann, dass es richtig codiert ist.
Haben alle gängigen Browser unterstützt? Und kann ich sicher sein, dass die Dateinamen korrekt codiert sind?
Dank Jihad
Dank. Aber welche Browser unterstützen dies, und kann ich sowohl FileName als auch FileNameStar in derselben Anfrage senden? –
Die meisten Browser unterstützen dies. Wenn Ihr Dateiname ist ISO-8859-1-Zeichensatz dann Filenamen verwenden, wenn es UTF-Zeichen enthält FileNameStar verwenden verwenden. Wenn beide FileNameStar verwendet werden können, funktioniert es in beiden Fällen. – Jonas