首页 >后端开发 >C++ >如何在ASP.NET MVC中控制文件显示(查看或下载)?

如何在ASP.NET MVC中控制文件显示(查看或下载)?

Barbara Streisand
Barbara Streisand原创
2025-01-31 13:56:09850浏览

How to Control File Display (View or Download) in ASP.NET MVC?

在ASP.NET MVC

>

FileResult>FileStreamResultContentDisposition>

>

> FileStreamResult>

> ASP.NET MVC应用程序通常需要将存储在数据库中的文件提供给用户。 一个关键挑战是为用户提供控制这些文件的处理方式 - 无论是直接在浏览器中查看还是下载。
<code class="language-csharp">// Opens known types, downloads unknown types (incorrect filename/extension)
return new FileStreamResult(new MemoryStream(document.Data), document.ContentType);</code>
>。

>提供一个简单的解决方案,但对于未知文件类型可能是不可靠的,通常默认为下载。 要获得更健壮的控制,请考虑使用File或操纵ContentDisposition标题。

>
<code class="language-csharp">public ActionResult Download()
{
    var document = ...;
    var cd = new System.Net.Mime.ContentDisposition
    {
        FileName = document.FileName,
        Inline = false, // Forces download
    };
    Response.AppendHeader("Content-Disposition", cd.ToString());
    return File(document.Data, document.ContentType);
}</code>
使用

>提供妥协:ContentDispositionHeaderValue

<code class="language-csharp">public IActionResult Download()
{
    var document = ...;
    var cd = new ContentDispositionHeaderValue("attachment")
    {
        FileNameStar = document.FileName // Use FileNameStar for better encoding
    };
    Response.Headers.Add(HeaderNames.ContentDisposition, cd.ToString());
    return File(document.Data, document.ContentType);
}</code>
>不管文件类型如何,都可以使用自定义的

标题:

使用> 为了改善国际角色支持,建议班级:> 这些方法允许开发人员精确管理文件传输,确保用户打算查看或下载文件。

以上是如何在ASP.NET MVC中控制文件显示(查看或下载)?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn