应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

asp.net mvc 下载文件

5079人阅读 2019/9/11 11:10 总访问:5185846 评论:0 收藏:1 手机
分类: .NET MVC


方法1:

  1. public void DownLoad()
  2. {
  3.     string filePath = "文件路径";
  4.     using (FileStream fs = new FileStream(filePath, FileMode.Open))
  5.     {
  6.         byte[] bytes = new byte[(int)fs.Length];
  7.         fs.Read(bytes, 0, bytes.Length);
  8.         fs.Close();
  9.         Response.Charset = "UTF-8";
  10.         Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
  11.         Response.ContentType = "application/octet-stream";
  12.         Response.AddHeader("Content-Disposition""attachment; filename=" + Server.UrlEncode("TakeColor 8.0 CN Green.zip"));
  13.         Response.BinaryWrite(bytes);
  14.         Response.Flush();
  15.         Response.End();
  16.     }
  17. }


tip:我们在做文件下载的时候应该要掩藏文件的真实地址,因为让用户知道了真实地址总是不太好的,下载我们就可以给一个downlowd控制器,我们可以不传递任何参数,具体的文件地址我们在后台处理,可以存储在session存储在缓存等,反正就是让前台看不到


真实存储的文件名也不要让用户知道,真实的文件名可以存储在数据库中,下载的时候后台用这个真实的名字通过流去查找,用户看的文件夹其实只是下载的时候给用户的一个名字



欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

.net core使用requestresponse下载文件下载excel等

使用request获取内容net core中request没有直接的索引方法,需要点里边的Query,或者formstringbase64=Request.Form["f...

.net core使用response下载文件下载excel

使用response下载文件:using(FileStreamfs=newFileStream(filePath,FileMode.Open)) { byte[]bytes=newbyte[(int)fs.Len...

js下载文件笔记

// downFile(下载地址, 保存名称); function downFile(url, filename) { // 创建隐藏的可下载链接 var eleLink = do...

linux 下载文件

wget 地址比如: wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

.net core下载文件中文报错:Invalid non-ASCII or control character in header:

.net core下载附件遇到中文下载会报错:InvalidOperationException: Invalid non-ASCII or control character in header: 0...

.net core导入导出excel。下载excel。上传文件与下载文件。下载内存中构建的文件

使用的是npoi先下载依赖 <PackageReference Include="NPOI" Version="2.5.6" /> .net core导...

vue根据文件地址下载文件。vue下载文件的时候给header传递token

最简单的方式一句话搞定 window.location.href = res.success.url 动态创建a标签触发点击事件 //根据文件地址下载文件 ...

window.open 中传递Authorization header token。vue根据链接下载文件的时候传递header token

直接使用window.open去给一个链接下载文件是传递不了header token的window.open(baseURL + 'DownloadFile/ArchivesDown...

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request["imgBase"]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

C.net 配合小程序实现经过第三方服务器中转文件

某些时候,微信小程序前段上传文件的时候需要经过第三方服务器再将文件上传到客户的服务器;操作如下:1:(小程序内向中端服...