在我的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