【发布时间】:2019-09-25 06:48:34
【问题描述】:
我必须在控制器中执行操作:
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
[HttpGet("redirect1")]
public IActionResult Redirect1()
{
var r = RedirectToAction(nameof(GetStream));
return r;
}
[HttpGet("stream")]
public IActionResult GetStream()
{
var ms = new MemoryStream(Encoding.UTF8.GetBytes("Hello Word"));
return File(ms, "application/octet-stream", "test.xyz", true);
}
}
当我输入https://localhost:44352/api/values/redirect1 时,另存为对话框打开以供下载,但浏览器中的 url 没有更改为https://localhost:44352/api/values/stream。也是一种更改网址的方法。如果 GetStream 操作返回 json,则 url 将更改为 https://localhost:44352/api/values/stream。如果我返回FileStreamResult,如何更改网址。
视图中有可能出现“等待...”之类的内容并返回FileStreamResult
【问题讨论】:
标签: c# asp.net-core asp.net-web-api routing filestreamresult