Ich verwende ServiceStack für eine einfache Webanwendung. Der Hauptzweck besteht darin, einem Benutzer das Herunterladen einer Datei zu ermöglichen. Ich verwende eine HttpResult wie folgt:Laden Sie eine Datei mit ServiceStack HttpResult herunter: Wie spezifiziert man einen Dateinamen für heruntergeladene Inhalte?
public class FileDownloadService : Service
{
public object Any()
{
string fileFullPath = "...";
string mimeType = "application/pdf";
FileInfo fi = new FileInfo(fileFullPath);
byte[] reportBytes = File.ReadAllBytes(fi.FullName);
result = new HttpResult(reportBytes, mimeType);
return result;
}
}
Es öffnet sich ein Dialog, in dem Browser des Benutzers und der Benutzer kann angeben, wo die Datei gespeichert werden. Ein Standardname wird angegeben. Dies ist der Name des RestPath von ServiceStack.
Meine Frage ist: ist es möglich, einen benutzerdefinierten Dateinamen anzugeben, wenn der Benutzer wählt zu speichern (Ändern der Standard)? Ich habe versucht, mit HttpResult Eigenschaften zu arbeiten, aber kein Glück. Vielen Dank im Voraus!
Wenn der Benutzer den "Speichern unter" -Dialog des Browsers öffnet, hat er bereits einen Standarddateinamen geschrieben, das ist der restPath, der in der Routingdatei der Dateiendung ServiceStack + angegeben ist (in meinem Fall "downloadFile.pdf"). weil der Dienst vom "/ downloadFile" Router angesprochen wird. Ich möchte diesen Standardnamen ändern, indem ich ihn beispielsweise in "UserSurname_UserName.pdf" ändere. Ich weiß nicht, ob es möglich ist und wenn ja, wie kann ich dieses Ergebnis erhalten ... – AdrianS