In meinem asp.net Webapi-Projekt muss ich Zeichenfolge JSON-Daten als Datei zurückgeben. Was auch wichtig ist Ich möchte Statuscode der Antwort auf 200 (erfolgreich) festgelegt haben. Ich habe viele Beispiele gefunden, wo Leute MemoryStream und FileStreamResult verwenden, um die richtige Datei vom Server zu bekommen, aber es funktioniert nicht für mich.ASP.NET Core WebApi - Download-Datei verursacht Fehlermeldung
Leider bekomme ich immer eine Nachricht im Browser, die "Unerwarteter Fehler" ist, obwohl der Server-Code ohne Ausnahmen funktioniert. Ich habe Details der Anfrage in einem Browser überprüft und es hat den Statuscode "Ungültige Anfrage" (400).
Mein Code:
[HttpGet()]
public async Task<IActionResult> Download()
{
string jsonData = "example data";
byte[] byteArray = Encoding.UTF8.GetBytes(jsonData);
var stream = new MemoryStream(byteArray);
var result = new FileStreamResult(stream, new MediaTypeHeaderValue("text/json"))
{
FileDownloadName = "testFile.json"
};
return result;
}
Es scheint ein bisschen wie Sie suchen [etwas in dieser Frage beantwortet] (http://stackoverflow.com/questions/41383338/how-to -download-a-zipfile-von-a-dotnet-core-webapi/41395761 # 41395761). Haben Sie versucht, 'require Created (result);'? –
Es funktioniert nicht für mich :(. Jetzt bekomme ich Nachricht: ERR_INVALID_RESPONSE. Bitte verwenden Sie Ihr Beispiel als Stream basierend auf String-Variable, anstatt es aus tatsächlichen vorhandenen Datei auf dem Server. – Ellbar