asp.net mvc5 下载文件方法

控制器自带的 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编码处理之后可以避免那些因为带空格的文件名等等带来的问题。

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

时间: 2024-10-27 07:12:42

asp.net mvc5 下载文件方法的相关文章

Asp.net mvc 下载文件

前言 最近有需求需要下载文件,可能是image的图片,也可能是pdf报告,也可能是微软的word或者excel文件. 这里就整理了asp.net mvc 和asp.net webapi 下载的方法 ASP.NET MVC 下载 在mvc中,control的returnresult有FileResult,描述如下: System.Web.Mvc.FileResult System.Web.Mvc.FileContentResult System.Web.Mvc.FilePathResult Sys

Python抓取网页&批量下载文件方法初探(正则表达式+BeautifulSoup) (转)

Python抓取网页&批量下载文件方法初探(正则表达式+BeautifulSoup) 最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法. 一.用Python抓取网页 基本方法: [python] view plaincopyprint? import urllib2,urllib url = 'http://www.baidu.com' req 

.NET两种常见上传下载文件方法

1.FTP模式 代码如下: (1)浏览 /// <summary> /// 浏览文件 /// </summary> /// <param name="tbControl">控件名称</param> private void ViewFile(TextBox tbControl) { OpenFileDialog openFileDialogTemp = new OpenFileDialog();//提示用户打开文件弹窗 //设置文件类型

[ASP.NET][C#]下载文件时中文文件名出现乱码

负责的网站在ASP.NET网页有一段下载Word/Excel文件的程序,最近使用者要求的文件名称内含繁体中文字, 同事用chrome/firefox浏览器测试下载都很正常显示,但用IE(版本11)开启时,却出现了乱码. 1.准备一个中文文件名的文件 ASP.NET MVC 2.在HomeControler中加入下载程序Download public ActionResult Download() { //文件位置 string filepath = @"E:testWebApplication1

asp.net中下载文件的问题

今天解决web的文件下载问题,下载的方法网上很多,不过我的下载有点特殊: 1.下载按钮在gridview中,是模板列的linkButton: 2.使用了ajax控件: 所以,在下载时总是报错,通过查找资料,解决方法如下: 1.先说ajax控件的问题: 如果下载按钮在ajax控件上,需要添加Triggers节点,如下: aspx: <asp:UpdatePanel ID="UpdatePanel3" runat="server"> <ContentT

ASP.NET批量下载文件

一.实现步骤 在用户操作界面,由用户选择需要下载的文件,系统根据所选文件,在服务器上创建用于存储所选文件的临时文件夹,将所选文件拷贝至临时文件夹.然后调用 RAR程序,对临时文件夹进行压缩,然后输出到客户端.最后删除临时文件夹. 二.代码实现 1.ASP.NET批量下载 核心代码 C# 代码   复制 //遍历服务器指定文件夹下的所有文件 string path = "uploads/Image/"; string serverPath = Server.MapPath(path);

向云服务器上传下载文件方法汇总(转)

转载于:https://yq.aliyun.com/articles/64700 摘要: 一.向Windows服务器上传下载文件方式 方法有很多种,此处介绍远程桌面的本地资源共享方法. 1.运行mstsc,连接远程桌面的时候,点"选项>>" 2."本地资源"-->详细信息. 3."磁盘驱动器"前面打钩. 一.向Windows服务器上传下载文件方式 方法有很多种,此处介绍远程桌面的本地资源共享方法. 1.运行mstsc,连接远程桌

C# ASP 上传/下载文件

1.  上传文件前台页面 1 <div style="padding-left:20px;"> 2 <asp:FileUpload ID="FileUpload1" runat="server" style="width:400px;"/> 3 <asp:Button ID="Button1" runat="server" OnClick="Upl

asp.net创建XML文件方法

方法一:按照XML的结构一步一步的构建XML文档.    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法一:按照XML的结构一步一步的构建XML文档.    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法二:直接定影XML文档,然后保存到文件.        通过"XmlDocument"类中的"LoadXml"