在我的asp.net webapi項目中,我需要返回字符串json數據作爲文件。還有一點很重要,我希望將響應的狀態碼設置爲200(成功)。我發現很多例子,人們使用MemoryStream和FileStreamResult從服務器獲取正確的文件,但它不適用於我。ASP.NET Core WebApi - 下載文件導致錯誤信息
不幸的是,我總是在瀏覽器中看到「意外錯誤」的消息,儘管serwer代碼沒有任何例外。我在瀏覽器中查看了請求的詳細信息,並且其狀態碼爲「錯誤請求」(400)。
我的代碼:
[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;
}
它似乎有點像你正在尋找[東西在這個問題回答(http://stackoverflow.com/questions/41383338/how-to -download-A-zip文件-從-A-DOTNET-芯的WebAPI/41395761#41395761)。你嘗試過'返回Created(result);'? –
它不適用於我:(。現在我得到消息:ERR_INVALID_RESPONSE。請使用您的示例作爲基於字符串變量的流,而不是從服務器上的實際現有文件中獲取它。 – Ellbar