ASP.netMVC文件下载

ASP.netMVC文件下载ASP.netMVC文件下载ASP.netMVC下载文件一般有几种方法第一种:超链接方法,直接指向目标文件地址;window.open(“”); 标签href=“”;第二种:后台下载,但后台下载又有三种方式;(1)返回filestreampublicFileStreamResultdownload(){stringfileName=””;//客户端保存的文件名stringfilePath=Server.MapPath(“”);//路径…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ASP.netMVC文件下载

ASP.netMVC下载文件一般有几种方法

第一种:超链接方法,直接指向目标文件地址;

  1. window.open(“”);
  2. 标签href=“”;

第二种:后台下载,但后台下载又有三种方式;

(1)返回filestream

public FileStreamResult download()

{

     string fileName = “”;//客户端保存的文件名

     string filePath = Server.MapPath(“”);//路径

     return File(new FileStream(filePath, FileMode.Open), “text/plain”,  

     fileName);

}

其中:“text/plain”是文件MIME类型

(2)返回file

public FileResult download()

{

      string filePath = Server.MapPath(“”);//路径

      return File(filePath, “text/plain”, “”//是客户端保存的文件名字);

}

(3)TransmitFile方法

 1  public void download()

 2  {

 3       string fileName = “”;//客户端保存的文件名

 4       string filePath = Server.MapPath(“”);//路径

 5       FileInfo fileinfo = new FileInfo(filePath);

 6             Response.Clear();         //清除缓冲区流中的所有内容输出

 7             Response.ClearContent();  //清除缓冲区流中的所有内容输出

 8             Response.ClearHeaders();  //清除缓冲区流中的所有头

 9             Response.Buffer = true;   //该值指示是否缓冲输出,并在完成处理整个响应之后将其发送

10             Response.AddHeader(“Content-Disposition”, “attachment;filename=” + fileName);

11             Response.AddHeader(“Content-Length”,fileinfo.Length.ToString());

12             Response.AddHeader(“Content-Transfer-Encoding”, “binary”);

13             Response.ContentType = “application/unknow”;  //获取或设置输出流的 HTTP MIME 类型

14             Response.ContentEncoding = System.Text.Encoding.GetEncoding(“gb2312”); //获取或设置输出流的 HTTP 字符集

15             Response.TransmitFile(filePath);

16             Response.End();

17  }

(4)Response分块下载

 1 public void download()

 2 {

 3       string fileName = “”;//客户端保存的文件名

 4       string filePath = Server.MapPath(“”);//路径

 5       System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);

 7       if (fileInfo.Exists == true)

 8       {

 9           const long ChunkSize = 102400;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力

10           byte[] buffer = new byte[ChunkSize];

11           Response.Clear();

12           System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);

14           long dataLengthToRead = iStream.Length;//获取下载的文件总大小

15           Response.ContentType = “application/octet-stream”;

16           Response.AddHeader(“Content-Disposition”, “attachment; filename=” + HttpUtility.UrlEncode(fileName));

17        while (dataLengthToRead > 0 && Response.IsClientConnected)

18       {

19              int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小

20              Response.OutputStream.Write(buffer, 0, lengthRead);

21              Response.Flush();

22              dataLengthToRead = dataLengthToRead – lengthRead;

23       }

24       Response.Close();

25    }        

}

这篇文章对你有帮助吗?作为一名程序工程师,在评论区留下你的困惑或你的见解,大家一起来交流吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157837.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • cuda包卸载_之前安装过cuda卸载不彻底

    cuda包卸载_之前安装过cuda卸载不彻底不小心把/usr/local/cuda删除了,卸载cuda后安装cuda后/usr/local下没有cuda文件夹.运行:sudoapt-getautoremove–purgecuda

  • Shell:export命令

    Shell:export命令https://www.cnblogs.com/tinywan/p/7224011.html一、Windows环境变量  1、在Windows系统下,很多软件安装都需要配置环境变量,比如安装jdk,如果不配置环境变量,在非软件安装的目录下运行javac命令,将会报告找不到文件,类似的错误。  2、那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。设置变量对于一般人最实用的功能就是:不用拷贝某些dll文件到系统目录中了,而path

  • html中图片自动循环滚动代码,JavaScript代码实现图片循环滚动效果

    html中图片自动循环滚动代码,JavaScript代码实现图片循环滚动效果1.概述循环滚动图片,不仅可以增添Web页面的动态效果,而且可以节省页面空间,有效地保证在有限的页面中显示更多的图片。2.技术要点主要应用setTimeout()方法实现图片的循环滚动效果。setTimeout()方法的语法格式如下:setTimeout(function,milliseconds,[arguments])参数说明:a.function:要调用的JavaScript自定义函数名称…

  • awvs14安装教程_极品飞车14迅雷下载

    awvs14安装教程_极品飞车14迅雷下载Awvs14.1.210329187更新日期为2021年5月4日。首先卸载旧版awvs,然后重启电脑下载地址:Awvs14.1.210329187安装新版本运行AcunetixPremiumv14.2.210503151.exe。到如下填写登录的用户名和密码安装完后如下,此时没有激活激活安装完成后运行AcunetixPremiumActivationTool.exe进行激活,如下已经成功激活,然后改成中文版,如下,右上角点击保存既可以…

  • 移动端开发技术浅析

    移动端开发技术浅析移动端开发技术浅析目录APK下载概述技术介绍技术对比参考资料1.APK下载百度云链接:https://pan.baidu.com/s/1pLp44Fh2.概述“一次编码,处处运行”永远是程序员们的理想乡。二十年前Java正是举着这面大旗登场,击败了众多竞争对手。但是时至今日,事实已经证明了Java笨重的体型和缓慢的发展显然已经很难再抓住这个时代快速跃动的脚步。在

  • SCrollTOP scrollHeight

    SCrollTOP scrollHeightjQuery里和滚动条有关的概念很多,但是有三个属性和滚动条的拖动有关,就是:scrollTop、scrollLeft、scrollHeight。其中scrollHeight属性,互联网上几乎搜素不到关于它的应用技巧,而我正好需要用到它。   我们现在只探讨和垂直滚动有关的scrollTop、scrollHeight属性。   一、滚动条有关属性的正确理解: 

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号