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
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>
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>
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>
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!