• 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你是访问不到的呢!!

  • 相关阅读:
    视图集
    子类视图
    Mixin扩展类
    GenericAPIView
    APIView
    ModelSerializer使用
    序列化和反序列化
    合并购物车
    pyplot基本绘制
    STL sort “invalid operator <”
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9952571.html
Copyright © 2020-2023  润新知