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
Lepaskan: 2025-01-31 13:56:09
asal
847 orang telah melayarinya

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>
Salin selepas log masuk
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>
Salin selepas log masuk
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>
Salin selepas log masuk
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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan