zoukankan      html  css  js  c++  java
  • 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你是访问不到的呢!!

  • 相关阅读:
    JDK JRE Java虚拟机的关系
    apache和tomcat区别
    JBoss Web和 Tomcat的区别
    SOAP 与 restful service区别
    IntelliJ Idea 常用快捷键列表
    Win7用户文件夹转移
    相同IP和Mac地址的问题
    WebDriver 浅析
    Web UI 自动化测试
    python中xlrd模块的使用
  • 原文地址:https://www.cnblogs.com/ZaraNet/p/9952571.html
Copyright © 2011-2022 走看看