实现文件下载

下载是大家都不陌生的词汇,有时上网难免想要下载一些文件到本地。这里简单提一下如何从项目中下载文件。

要实现很简单,我用的是FileStreamResult controller.File方法,使用Stream对象、内容类型和目标文件名创建一个FileStreamResult对象。

1、先获取文件在项目的路径。

使用Server.Mappath(path)语法,用途在于返回web服务器上给定虚拟路径相对应的物理文件路径。Path一定为虚拟路径。

2、获取目标文件的扩展名,以确定文件的类型。

使用Path.GetFileName(fath)语法,获取指定路径文件的文件名和扩展名(上述获取的物理文件路径)。

3、创建一个Stream对象。

先new 一个FileStream(string path,FileMode mode)--使用指定的路径和创建模式初始化FileStream类的新实例。

path:当前 FileStream 对象将封装的文件的相对路径或绝对路径;

mode: 一个常数,用于确定如何打开或创建文件;

具体操作看下图例:

 

 

A:是扩展名为’.docx’的MIME文件类型;

B:是操作系统打开文件的方式,一共有六种。

一.FileMode.Append

Append追加:

如果文件存在,则打开文件,把指针指到文件的末尾;如果不存在,则新建文件

 

二.FileMode.Create

Create:新建

如果文件存在,则覆盖原有文件,把指针指到文件的开始,文件的创建日期会更新;

如果文件不存在,则新建文件

三.FileMode.CreateNew

CreateNew:新建新的文件

如果文件存在,则产生异常;如果文件不存在,则产生异常

四.FileMode.OpenOrCreate

OpenOrCreate:打开或是新建

如果文件存在,则打开文件,把指针指到文件的开始;如果文件不存在,则新建文件

五. FileMode.Truncate

如果文件存在,则打开文件,清除这个文件中的内容,把指针指到文件的开始,保留最初文件的创建日期(重写);如果文件不存在,则产生异常

六. FileMode.Open

Open:打开文件

如果文件存在,则打开文件,把指针指到文件的开始;如果不存在,则产生异常

 

这样就能够实现下载的功能了,而此功能在不同的浏览器上效果也不一样。

  1. 谷歌浏览器

当前浏览页面提示:

浏览器下载页面:

  1. Internet Explorer浏览器

当前浏览页面提示:

浏览器下载页面:

 

  1. Microsoft Edge浏览器

当前浏览页面提示:

更多的就不一一列举了,不同的览器有不同的风格。而文件保存到本地就是保存在此电脑的下载里了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值