ASP.NET MVC如何向浏览器发送文件以提供文件下载功能

文件下载一般都是需要一个文件选择对话框来选择存放文件的地方。我们可以自己做一个, 但简单的方面就是利用浏览器的现成功能。

所有的浏览器都包括文件下载功能,但文件选择对话框却 不是每个浏览器都有提供。这里我只选择我常用的两个浏览器:谷歌浏览器和搜狗浏览器。

先来一个 小例子:

public ActionResult Index()
{
     var path = Server.MapPath("~/frog.jpg.jpg");
     return File(path, "iamge/jpeg");
}

这里是下载工程根目录下的frog.jpg.jpg。

代码非常简短,只有两行,但效果却不差:

这是搜狗浏览器上的效果,如 果是谷歌浏览器,则是直接下载下来,但是文件并不是我们的文件名,甚至格式也不一样,就是一个奇怪的名 为"下载"的文件。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, 浏览器
, 文件下载
, 选择
, 功能
, 一个
, 文件浏览器
Asp.net下载功能
,以便于您获取更多的相关知识。

时间: 2025-01-01 04:49:17

ASP.NET MVC如何向浏览器发送文件以提供文件下载功能的相关文章

ASP.NET MVC以ValueProvider为核心的值提供系统: DictionaryValueProvider

NameValueCollectionValueProvider采用一个NameValueCollection作为数据源,DictionnaryValueProvider的数据源类型自然就是一个Dictionnary.NameValueCollection和Dictionnary都是一个键值对的集合,它们之间的不同之处在NameValueCollection运行元素具有相同的Key,Dictionnary却要求元素的Key具有唯一性.[本文已经同步到<How ASP.NET MVC Works?

ASP.NET MVC以ValueProvider为核心的值提供系统: NameValueCollectionValueProvider

在进行Model绑定过程中,需要根据基于Action方法参数的绑定上下文从请求数据中提取相应的数据以提供相应的数据.具体来说,Model绑定的数据具有多个来源,可能来源于Post的表单或者JSON字符串,或者来源于当前的路由数据,也可能来源于请求地址的插叙字符串.ASP.NET MVC将这种基于不同数据来源的数据获取/提供机制实现在一个叫做ValueProvider的组件中.[本文已经同步到<How ASP.NET MVC Works?>中] 目录 一.IValueProvider与Value

ASP.NET MVC以ValueProvider为核心的值提供系统: ValueProviderFactory

在ASP.NET Model绑定系统中,用于提供数据值的ValueProvider对象通过ValueProviderFactory来创建.在ASP.NET MVC应用编程接口中,ValueProviderFactory继承自ValueProviderFactory类.本篇文章只要介绍基于ValueProviderFactory的ValueProvider的提供机制,以及如何通过自定义ValueProviderFactory实现我们需要的数据值的绑定方式.[本文已经同步到<How ASP.NET

ASP.NET MVC 通过 FileResult 向浏览器发送文件

在 Controller 中我们可以使用 FileResult 向客户端发送文件. FileResult FileResult 是一个抽象类,继承自 ActionResult.在 System.Web.Mvc.dll 中,它有如上三个子类,分别以不同的方式向客户端发送文件. 在实际使用中我们通常不需要直接实例化一个 FileResult 的子类,因为 Controller 类已经提供了六个 File 方法来简化我们的操作: protected internal FilePathResult Fi

用Html5与Asp.net MVC上传多个文件的实现代码_实用技巧

复制代码 代码如下: <form action="/Home/Upload" enctype="multipart/form-data" id="form2" method="post"> <input type="file" name="fileToUpload" id="fileToUpload2" multiple="multiple

ASP.NET MVC以ValueProvider为核心的值提供系统 三

ValueProviderFactory 在ASP.NET Model绑定系统中,用于提供数据值的ValueProvider对象通过ValueProviderFactory来创建.在ASP.NET MVC应用编程接口中,ValueProviderFactory继承自ValueProviderFactory类.本篇文章只要介绍基于ValueProviderFactory的ValueProvider的提供机制,以及如何通过自定义ValueProviderFactory实现我们需要的数据值的绑定方式.

ASP.NET MVC以ValueProvider为核心的值提供系统 一

NameValueCollectionValueProvider 在进行Model绑定过程中,需要根据基于Action方法参数的绑定上下文从请求数据中提取相应的数据以提供相应的数据.具体来说,Model绑定的数据具有多个来源,可能来源于Post的表单或者JSON字符串,或者来源于当前的路由数据,也可能来源于请求地址的插叙字符串.ASP.NET MVC将这种基于不同数据来源的数据获取/提供机制实现在一个叫做ValueProvider的组件中. 一.IValueProvider与ValueProvi

MVC后台Controller向客户端浏览器发送文件

问题描述 数据是我从数据库获取得到datatable,并转换为html的table代码想将这些html数据以excel方式发送给前台,让用户下载我用的是FileResult返回的,前台可以alert出这些html代码,但是无法下载xls文件,这是怎么回事呢?后台代码publicFileResultExcelExport(){stringcontent=GetExcelContent();byte[]fileContents=Encoding.UTF8.GetBytes(content);retu

ASP.NET MVC以ValueProvider为核心的值提供系统 二

DictionaryValueProvider NameValueCollectionValueProvider采用一个NameValueCollection作为数据源,DictionnaryValueProvider的数据源类型自然就是一个Dictionnary.NameValueCollection和Dictionnary都是一个键值对的集合,它们之间的不同之处在NameValueCollection运行元素具有相同的Key,Dictionnary却要求元素的Key具有唯一性. 一.Dict