AspNetCore 基於流下載文件與示例代碼


昨天說了,AspNetCore如何進行上傳文件,其中寫了兩種方式ajax與模型,其文章地址為:https://www.cnblogs.com/ZaraNet/p/9949167.html

那么既然有上傳文件就一定有下載文件,那么我們常用的下載方式有什么呢   流、

代碼如下:

   public IActionResult DownLoad(string file)
        {
            var addrUrl = file;
            var stream = System.IO.File.OpenRead(addrUrl);
            string fileExt = GetFileExt(file);
            //獲取文件的ContentType
            var provider = new FileExtensionContentTypeProvider();
            var memi = provider.Mappings[fileExt];
            return File(stream, memi, Path.GetFileName(addrUrl));
        }

這里值得注意的是,以前我們想獲取ContentType直接使用MimeMapping.GetMimeMapping(file);就好了.

但是這個類是在System.Web下的,core已經拋棄了現有的System.Web.

所以在ASP.NET Core中我們需要通過新的類FileExtensionContentTypeProvider來獲取文件的ContentType

前端:

    <input type="text" id="filename" /><button onclick="downLoad()">下載</button></div>
 function downLoad()
{
  var filename = $("#filename").val(); window.location.href = "@Url.Action("DownLoad")?file=" + filename; }

  其中需要的是,這種返回流的方式都是get方式的。post你是訪問不到的呢!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM