asp.net mvc5 下载文件方法

简介: 控制器自带的 FileContentResult 可以让我们很方便的返回文件到服务端,减少了很多步骤。用于下载文件的时候,像视频、文本、图片这种浏览器支持的文件,默认就会被浏览器打开。这时候想让它变成下载,还需要设置一下响应头,告诉浏览器如何处理才行。

控制器自带的 FileContentResult 可以让我们很方便的返回文件到服务端,减少了很多步骤。用于下载文件的时候,像视频、文本、图片这种浏览器支持的文件,默认就会被浏览器打开。这时候想让它变成下载,还需要设置一下响应头,告诉浏览器如何处理才行。

         public ActionResult DownLoadFile(String path, string fileName, string contentType)
        {
            Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));
            return File(path,contentType);
        }

 以上,在js使用 location.href = fileDownloadUrl 这样简单的方式即可实现在asp.net mvc5下载文件。关键是这个Content-Disposition,它的内容大概就是说明以什么方式处理,默认的文件名是什么。attachment 是以附件方式处理的意思,后面的就是文件名了,url编码处理之后可以避免那些因为带空格的文件名等等带来的问题。

题外话,这个通过设置响应头来保证文件以附件形式下载的功能早在一年前就用过一次,当时看了一脸懵,也没记下来详细了解,现在又用到了,模模糊糊只记得好像在哪用过一次,当然不记得怎么写了,网上搜,一时又找不到,还是得自己一码一字的敲下来,这样印象深刻而且以后又容易找。什么转载啊,复制粘贴的都是浮云,谁码谁知道!

用心做好每一件事,结果会给你最大的惊喜!
目录
相关文章
|
2天前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
8 1
|
3天前
|
前端开发 Java Spring
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
11 1
|
18天前
|
C# Windows
一款基于.NET开发的简易高效的文件转换器
一款基于.NET开发的简易高效的文件转换器
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
35 7
|
2月前
.NET 压缩/解压文件
【9月更文挑战第5天】在 .NET 中,可利用 `System.IO.Compression` 命名空间进行文件的压缩与解压。首先引入相关命名空间,然后通过 GZipStream 类实现具体的压缩或解压功能。下面提供了压缩与解压文件的方法示例及调用方式,便于用户快速上手操作。
|
3月前
|
Java Windows 容器
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
48 0
|
3月前
|
开发框架 .NET Linux
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
【Azure Developer】已发布好的.NET Core项目文件如何打包为Docker镜像文件
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
42 0
|
3月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
107 0