我在 ASP.NET Core 3.1 应用程序中定义了以下 REST 端点:
[HttpGet("files/{id}")]
[ProducesResponseType(typeof(FileContentResult), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public ActionResult GetFile(int id)
{
// ...
return File(stream, mime);
}
如果我按原样保留代码,则文件会立即下载或在浏览器中预览,具体取决于浏览器是否可以预览文件(即 pdf 文件)。但是,当用户去下载文件时,文件的名称是id
; 例如,保存 pdf 将建议保存 701.pdf。无法预览的文件会立即以相同的约定下载。
我可以提供 downloadFileName return File(stream, mime, friendlyName)
,但即使是可以预览的文件(即 pdf 文件)也会立即下载。有没有办法在不强制文件下载的情况下提供友好名称?