iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET Core实现动态获取文件并下载
  • 296
分享到

ASP.NET Core实现动态获取文件并下载

2024-04-02 19:04:59 296人浏览 薄情痞子
摘要

ASP.net core 中,可以在静态目录添加文件,直接访问就可以下载。但是这种方法可能不安全,也不够灵活。 我们可以在 Controller 控制器中 添加 一个 Action,

ASP.net core 中,可以在静态目录添加文件,直接访问就可以下载。但是这种方法可能不安全,也不够灵活。

我们可以在 Controller 控制器中 添加 一个 Action,通过此Action,即可访问服务器的任何文件。

Action 格式

    public FileResult Down()
        {
        return File(xxx,xxx,xxx);
        }

File() 对象

问题在于这个 File() 对象,应该怎么写

笔者举个例子

在100%无错的条件下,文件路径 F:\a.txt

  • 1,创建一个文件流 FileStream
  • 2,获取文件类型 Content-Type,可以用代码获取,也可以用字符串填写
  • 3,设置文件名
var stream = System.IO.File.OpenRead(“F:\a.txt”);  //创建文件流

txt 的文件类型为 text/plain

设置文件名为 b.txt

那么返回的File 代码如下

return File(stream, "text/plain", “b.txt");

就这么简单。

获取文件类型

C#获取文件类型可以参考

https://www.jb51.net/article/234584.htm

关于文件类型对应得Context-Type

Http://tools.jb51.net/table/http_content_type

笔者附上小方法

//引入
using System.IO;

var contentype = MimeMapping.GetMimeMapping(fileName);      //获取文件类型

动态获取文件

 public FileResult DownSH(string DownM)  //要下载文件码
        {
            var path = _sqlContext.jexusSqls.FirstOrDefault(a => a.DownM == DownM.ToString()).FilePath;  //在数据库查找此文件码的文件地址
            if (!System.IO.File.Exists(path)) return null;

            var stream = System.IO.File.OpenRead(path);  //创建文件流

            return File(stream, "application/x-sh", DownM+".sh");
        }

编写方式多种多样,只需要解决文件流、文件类型、文件名,这三个核心即可。

到此这篇关于ASP.net core实现动态获取文件并下载的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NET Core实现动态获取文件并下载

本文链接: https://www.lsjlt.com/news/162477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET Core实现动态获取文件并下载
    ASP.NET Core 中,可以在静态目录添加文件,直接访问就可以下载。但是这种方法可能不安全,也不够灵活。 我们可以在 Controller 控制器中 添加 一个 Action,...
    99+
    2024-04-02
  • ASP.NET Core中怎么实现文件上传与下载
    这篇文章给大家介绍ASP.NET Core中怎么实现文件上传与下载,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.使用模型绑定上传文件(官方例子)官方机器翻译的地址:https://docs.microsoft.co...
    99+
    2023-06-19
  • Java实现动态获取文件的绝对路径
    目录前言1. 优化方式一:返回一个文件的绝对路径1.1 情况一1.2 情况二2. 优化方式二:返回一个 InputStream 字节输入流3. 优化方式三:java.util 包下提...
    99+
    2023-02-22
    Java获取文件绝对路径 Java文件绝对路径 Java 绝对路径
  • 利用ASP.Net Core中的Razor实现动态菜单
    目录准备1.实现思路2.编码2.1  建立渲染内容填充方法2.2  建立分部视图2.3 调用分布视图准备 1.框架 .netcore  版本 ...
    99+
    2024-04-02
  • java动态获取nacos配置文件
    前言: 在不启动服务的情况下,修改nacos配置文件,可以动态的获取到配置文件的信息,实现动态刷新的效果。 文章目录 1、依赖jar包2、相关代码3、注意事项 1、依赖jar包 ...
    99+
    2023-09-20
    java spring junit
  • Java如何实现动态获取文件的绝对路径
    本文小编为大家详细介绍“Java如何实现动态获取文件的绝对路径”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现动态获取文件的绝对路径”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言我们知道在 J...
    99+
    2023-07-05
  • java实现动态编译并动态加载
    在D盘test目录下有个java文件:AlTest.java public class AlTest { public String sayHello(){ System...
    99+
    2024-04-02
  • java通过httpclient携带请求头参数获取第三方文件流接口并实现实现文件下载
    创建httpclient 请求,并在header携带指定key,也可根据实际需要携带token等信息。获取第三方接口返回的文件输入流并写到本地response中,实现返回文件流,前端通过js的a标签进行下载。 代码如下: @Override...
    99+
    2023-10-01
    java 开发语言
  • python实现自动下载sftp文件
    本文实例为大家分享了python实现自动下载sftp文件的具体代码,供大家参考,具体内容如下 实现功能:利用python自动连接sftp,并下载sftp中指定目录下的所有目录及文件 ...
    99+
    2024-04-02
  • python使用requests模块下载文件并获取进度提示
    使用python3写了一个获取某网站文件的小脚本,使用了requests模块的get方法得到内容,然后通过文件读写的方式保存到硬盘同时需要实现下载进度的显示 安装模块pip3 install requests&...
    99+
    2023-01-31
    进度 模块 提示
  • Python实现连接FTP并下载文件夹
    目录第一章:连接 FTP 服务器并实现文件夹下载① 连接 FTP 服务器② 进入指定目录并显示文件信息③ 区分文件和文件夹名④ 文件夹名包含空格处理⑤ 使用递归实现:FTP服务器里的...
    99+
    2024-04-02
  • java如何实时动态获取properties文件的内容
    目录实时动态获取properties文件的内容动态读取的代码读取配置文件 Properties VS ResourceBundle1. 常用API2. Properties 解析属性...
    99+
    2024-04-02
  • 利用C++实现获取文件夹下所有文件名
    查找文件需要一个结构体和几个函数。结构体为struct _finddata_t,函数为_findfirst、findnext和_findclose。 struct _finddata...
    99+
    2024-04-02
  • ASP.NET Core如何实现简单的静态网站滚动更新
    目录IntroFileProviderConstruct HostDemoMore总结Intro 最近我们老板想让我实现一个静态网站“滚动更新”的功能,其实就是希望网站部署的时候网...
    99+
    2024-04-02
  • 使用ASP.NET Core怎么实现文件响应压缩
    使用ASP.NET Core怎么实现文件响应压缩?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。误区1:未使用 Brotil 压缩  几乎不需要任何额外的代价,Br...
    99+
    2023-06-15
  • JavaScript 中如何实现大文件并行下载
    目录一、HTTP 范围请求1.1 Range 语法二、如何实现大文件下载2.1 定义辅助函数2.2 大文件下载使用示例三、总结相信有些小伙伴已经了解大文件上传的解决方案,在上传大文件...
    99+
    2024-04-02
  • javascript实现生成并下载txt文件方式
    目录js生成并下载txt文件下表显示了FileSaver.js在不同浏览器中的兼容性js导出文件为txt并下载首先HTML结构使用最简单的结构然后jsjs生成并下载txt文件 下面的...
    99+
    2024-04-02
  • Python实战之实现获取动态图表
    目录前言开发工具环境搭建百度指数微博指数结果展示前言 利用Python实现获取动态图表,废话不多说~ 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re...
    99+
    2024-04-02
  • nodejs实现生成文件并在前端下载
    目录nodejs生成文件并在前端下载前端后端nodejs下载文件问题第一种方式:使用原生的http模块第二种方式:使用Express+Axios下载文件总结nodejs生成文件并在前...
    99+
    2024-04-02
  • java实现动态编译并动态加载的方法
    小编给大家分享一下java实现动态编译并动态加载的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在D盘test目录下有个java文件:AlTest.javap...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作