首页 > 编程语言 >asp.net core webapi 向前端返回一个文件

asp.net core webapi 向前端返回一个文件

时间:2024-12-27 13:53:11浏览次数:5  
标签:webapi core asp const 文件 link blob csv 模板

后端接口返回文件

[Authorization] //给下载模版添加权限
[HttpGet]
public IActionResult DownloadTemplate()
{
    //AppContext.BaseDirectory 用于获取项目根目录
    var filePath = $"{AppContext.BaseDirectory}/MyStaticFiles/取货模板.csv";
    if (!System.IO.File.Exists(filePath))
    {
        return new JsonResult("模板文件不存在!");
    }
    try
    {
        byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
        return File(fileBytes, "application/csv", "取货模板.csv");
    }
    catch (Exception ex)
    {
        return new JsonResult($"模板文件异常!" + ex.Message);
    }
}

前端接口解析文件并下载

function downloadTemplate() {const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
    const response = await fetch(apiURL+'/webTaskHelper/downloadTemplate', {
        method: 'GET',
        headers: {
          "token": localStorage.getItem("token") || '',
          'Content-Type': 'application/csv', //定义以什么编码来读取这个文件
        },
      });
      const data = await response.blob()
      const blob = new Blob([data])
      const url = URL.createObjectURL(blob);
      const link = document.createElement('a');
      link.href = url;
      link.download = '取货模板.csv';
      link.click();
}

 

标签:webapi,core,asp,const,文件,link,blob,csv,模板
From: https://www.cnblogs.com/tlfe/p/18635562

相关文章

  • ASP.NET Core 中的速率限制中间件的使用
    简介在ASP.NETCore中,速率限制中间件是用来控制客户端对WebAPI或MVC应用程序发出请求的速率,以防止服务器过载和提高安全性。下面是AddRateLimiter的一些基本用法:1.注册服务在Startup.cs或Program.cs中,需要注册AddRateLimiter服务。这可以通过以下代码完成:builder.S......
  • 基于ASP.NET的药品药房管理系统
    计算机毕业设计案例Java毕业设计案例ASP.NET毕业设计案例PHP毕业设计案例微信小程序毕业设计案例基于Java的法拍房智能选房系统的设计与实现基于ASP.NET绩效考评与分析系统的设计与实现【12/18/01】基于PHP后台的签到微信小程序–2024计算机毕业设计基于Java的后台的停车......
  • 基于ASP.NET的住院管理系统
    计算机毕业设计案例Java毕业设计案例ASP.NET毕业设计案例PHP毕业设计案例微信小程序毕业设计案例基于Java的食堂管理评价系统的设计与实现基于ASP.NET的酒店管理系统基于PHP的教学质量评价系统基于微信小程序的驾照模拟考试系统的设计与实现基于JavaWeb的森林火灾救援管......
  • DataSphereStudio介绍
    软件介绍   DataSphereStudio(简称DSS)是微众银行自研的数据应用开发管理集成框架。    基于插拔式的集成框架设计,及计算中间件 Linkis ,可轻松接入上层各种数据应用系统,让数据开发变得简洁又易用。    在统一的UI下,DataSphereStudio以工作流式的图......
  • hangfire.entityframeworkcore这个库因为System.Threading.Timer未停止也未释放而导致
    如题https://github.com/sergezhigunov/Hangfire.EntityFrameworkCore/issues/32publicclassWorker:IBackgroundProcess{publicvoidExecute(BackgroundProcessContextcontext){using(varfetchedJob=connection.FetchNextJob(_queues.ToArray(),context.......
  • TMS WEB Core Crack,Key Features of TMS WEB Core
    TMSWEBCoreCrack,KeyFeaturesofTMSWEBCoreTMSWEBCoreisconsideredidealforproducingmodernwebsoftwareforusersanddevelopers.DiscoveringtheunlimitedpossibilitiesoftheapplicationsalongwithdevelopmentwiththeuseoftheTMS......
  • SOTA简繁中文拼写检查工具:FASPell Chinese Spell Checker 论文
    拼写纠正系列NLP中文拼写检测实现思路NLP中文拼写检测纠正算法整理NLP英文拼写算法,如果提升100W倍的性能?NLP中文拼写检测纠正Paperjava实现中英文拼写检查和错误纠正?可我只会写CRUD啊!一个提升英文单词拼写检测性能1000倍的算法?单词拼写纠正-03-leetcodeedit-d......
  • 在Asp.netCore中使用Attribute来描述限流
    前言同事问我Asp.netCore的RateLimiting是怎么使用的,我回答说很简单的,你只要按照如下步骤来:在RateLimiterOptions上注册policy,记住policy对应的policyName在Web应用添加UseRateLimiter()中间件在api对应的Action上标注[EnableRateLimiting(policyName)]半小时后,同事说要对......
  • DotNetCore 3.1桌面应用在Windows 7 SP1 X86下不能运行的问题的解决方法
    遇到的问题一个小的桌面应用,发布到Windows7SP1x86系统,打包成Self-Contained进行发布的时候,运行后没反应,也不报错。打包成SingleFile之后,运行报错api-ms-win-crt-runtime-l1-1-0.dll缺失。之后尝试安装.NetCore3.1的DesktopRuntime,问题依旧。然后又搜索一阵,大概是Windows......
  • C#/.NET/.NET Core技术前沿周刊 | 第 18 期(2024年12.16-12.22)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等。......