首页 > 其他分享 >.NET Core3.1下载文件

.NET Core3.1下载文件

时间:2022-12-21 10:23:07浏览次数:31  
标签:fs string filePath FileStream fileName Core3.1 NET Response 下载

方法一:

[HttpGet]
        [EnableCors("userLogin")]
        public IActionResult DownloadFile(string url , string token)
        {
            var filePath = "D://xzc/" + _Configuration.GetSection("module").Value + "/Uploads/" + url;
            string[] tmpArr = url.Split("_");
            var fileName = tmpArr.AsQueryable().Last(); ;
            FileStream fs = new FileStream( filePath, FileMode.OpenOrCreate);
            fs.Close();
            return File(new FileStream(filePath, FileMode.Open), "application/octet-stream", fileName);
        }

  

方法二:

strFileName这个是下载下来的文件显示的名称,strToPath + targetFileName 这个是文件所在路径及其物理文件名(一般是字母加数字组合起来的)
调用:WebFile.downloadByStream(Response, strFileName, strToPath + targetFileName);

public static void downloadByStream(HttpResponse Response, string fileName, string filePath) 
{ 
    if (File.Exists(filePath)) 
    { 
        //以字符流的形式下载文件 
        FileStream fs = new FileStream(filePath, FileMode.Open); 
        byte[] bytes = new byte[(int)fs.Length]; 
        fs.Read(bytes, 0, bytes.Length); 
        fs.Close(); 
        Response.ContentType = "application/octet-stream"; 
        //通知浏览器下载文件而不是打开 
        Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); 
        Response.BinaryWrite(bytes); 
        Response.Flush(); 
        Response.End(); 
    } 
}                                                

  

标签:fs,string,filePath,FileStream,fileName,Core3.1,NET,Response,下载
From: https://www.cnblogs.com/ydc2023/p/16995656.html

相关文章

  • 设置 ASP.NET Core Web API 中响应数据的格式 AddNewtonsoftJson
    ASP.NETCoreMVC支持设置响应数据的格式。可以使用特定格式或响应客户端请求的格式,来设置响应数据的格式。查看或下载示例代码(如何下载)特定于格式的操作结果一些......
  • 界面组件DevExpress v22.2官宣发布——正式支持.NET 7
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具,该组件......
  • Know Your Enemy: Fast-Flux Service Networks
    KnowYourEnemy:Fast-FluxServiceNetworks1.INTRODUCTIONOneofthemostactivethreatswefacetodayontheInternetiscyber-crime.In......
  • 基于贝叶斯网(Bayes Netword)图模型的应用实践初探
    基于贝叶斯网(BayesNetword)图模型的应用实践初探1.贝叶斯网理论部分笔者在另一篇​​文章​​中对贝叶斯网的理论部分进行了总结,在本文中,我们重点......
  • .NET Core3.1 调用AD域验证
    一、添加引用右击项目—— 管理NuGet程序包——分别搜索System.DirectoryServices、System.DirectoryServices.AccountManagement,安装二、验证[HttpPost]......
  • .net core webapi跨域处理
    一、引入cors组件右击项目——在终端中打开——dotnetaddpackageMicrosoft.AspNetCore.Cors--version2.0.1   二、配置cors在项目根目录的Startup.c......
  • PowerDotNet平台化软件架构设计与实现系列(15):支付平台
    PowerDotNet个人项目中功能全面而强大的一个系统是支付平台。我对PowerDotNet的自信很大程度上来自于经过PowerDotNet重写后的支付、财务、结算、CRM等业务型公共服务系统......
  • 如何在 .Net 7 中将 Query 绑定到数组
    在.Net7中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。代码演示假设我们需要从query上接受多个id......
  • kubernetes-pod
    Pod作为k8s的核心对象,所有的k8s功能都必须通过Pod来实现。如何使用YAML描述PodPod是一个API对象,它必然具有apiVersion、kind、metadata、spec这四个字段apiVersion:v1......
  • kubernetes-使用yaml
    查询k8s支持的对象kubectlapi-resources#查看当前版本支持的所有对象kubectlexplainpodkubectlexplainpod.metadatakubecltexplainpod.speckubecltexplai......