Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara mengawal paparan fail (lihat atau muat turun) di ASP.NET MVC?

Bagaimana cara mengawal paparan fail (lihat atau muat turun) di ASP.NET MVC?

Barbara Streisand
Barbara Streisandasal
2025-01-31 13:56:09848semak imbas

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

Mengawal pilihan paparan fail (Lihat atau muat turun) di ASP.NET MVC

aplikasi ASP.NET MVC sering perlu menyampaikan fail yang disimpan dalam pangkalan data kepada pengguna. Cabaran utama adalah menyediakan pengguna dengan kawalan ke atas bagaimana fail -fail ini dikendalikan - sama ada ia dilihat secara langsung dalam penyemak imbas atau dimuat turun.

Walaupun

menawarkan penyelesaian yang mudah, ia tidak boleh dipercayai untuk jenis fail yang tidak diketahui, sering memungkiri muat turun. Untuk kawalan yang lebih mantap, pertimbangkan untuk menggunakan FileResult atau memanipulasi header FileStreamResult. ContentDisposition

Menggunakan

menawarkan kompromi: FileStreamResult

<code class="language-csharp">// Opens known types, downloads unknown types (incorrect filename/extension)
return new FileStreamResult(new MemoryStream(document.Data), document.ContentType);</code>
untuk secara konsisten memaksa muat turun, tanpa mengira jenis fail, gunakan kaedah

dengan header File yang disesuaikan: 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>
Untuk sokongan watak antarabangsa yang lebih baik, kelas

disyorkan: 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>
Kaedah ini membolehkan pemaju untuk menguruskan penghantaran fail dengan tepat, memastikan pengalaman pengguna yang konsisten dan boleh diramal, sama ada pengguna berhasrat untuk melihat atau memuat turun fail.

Atas ialah kandungan terperinci Bagaimana cara mengawal paparan fail (lihat atau muat turun) di ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn