ASP.NET Core上的静态文件

2024-02-16

我正在尝试启用静态文件ASP.NET Core 2.0Web应用程序。我在一个名为 updater 的文件夹中有一堆文件,该文件夹位于wwwroot文件夹。为了允许访问它们,我添加了

app.UseStaticFiles(new StaticFileOptions()
{
    ServeUnknownFileTypes = true,
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), @"TestUpdater")
    ),
    RequestPath = new PathString("/Updater")
});

这使得不同的程序能够通过调用 url 来获取其文件。问题是所有文件都需要下载而不是提供。有一个txt文件。如何只允许下载而不提供服务?


正如您所描述的,“提供”和“下载”文件之间的唯一区别是,在一种情况下,浏览器将文件下载到临时位置并将其显示在窗口中(内联),而另一种情况下,浏览器会询问用户保存位置将文件保存到永久位置(附件)。

如果您引用的其他程序直接联系服务器获取这些文件,那应该没有关系。例如使用 HttpClient,您根本不必更改静态文件中间件。

如果您希望浏览器提示用户保存文件,即使它是可识别的内容类型,请尝试将 Content-Disposition 响应标头设置为“附件”。要从 Startup.cs 配置执行此操作,请修改 StaticFileOptions 以使用如下内容:

new StaticFileOptions()
{
    OnPrepareResponse = context =>
    {
        context.Context.Response.Headers["Content-Disposition"] = "attachment";
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Core上的静态文件 的相关文章

  • 将 System.Drawing.Image 转换为 System.Windows.Media.ImageSource 但没有结果

    我想在我的 WPF 应用程序中将 Image 转换为 ImageSource 我使用正常工作的 Code128 库 已在 WinForms 应用程序中检查 下面的函数返回具有适当大小的 ImageSource 但没有任何内容可见 priva
  • 自定义可视化 Web 部件属性 sharepoint

    我在 Visual Studio 2012 中创建可视 Web 部件属性时遇到问题 我被提及http msdn microsoft com en us library ee231551 aspx http msdn microsoft co
  • 类型转换 sockaddr 结构

    我正在尝试学习网络编程 并在这个过程中学习C 我对结构感到困惑sockaddr这是一个通用地址 并且sockaddr in 我的书里是这么说的 因此 我们可以填写 sockaddr in 的字段 然后强制转换 a 指向 它指向 指向 soc
  • 将数据集导出到 EXCEL

    我使用以下代码将数据库表中的字段导出到 Excel 中 我想要做的是能够编写一条 SQL 语句从多个表中检索字段并将其导出到 Excel 中 这段代码只允许我导出一张表 另外 如何显示保存提示对话框 示例代码将不胜感激 非常感谢 prote
  • 如何查找boost运行时版本

    我正在编写一个使用 boost 的 C 库 在这个库中 我想包含有关用于编译我的库的二进制版本的 boost 版本的信息 我可以使用宏BOOST VERSION这很好 我还想确定哪个是 boost 的运行时版本 以便我可以与用于编译我的库的
  • 线程安全的get(访问器方法)

    我目前正在使用以下代码对变量进行线程安全访问 int gnVariable void getVariableValue int pnValue acquireLock Acquires the protection mechanism pn
  • WPF MVVM将DataTable绑定到DataGrid不显示数据

    我有一个简单的控件 其中包含一个 DataGrid 其中 ItemsSource 绑定到 DataTable 当我填充 DataTable 时 我可以看到 DataGrid 中添加了行 但没有显示任何数据 我没有为此 DataGrid 使用
  • 无法使用 Unity 函数在 Visual Studio Code 中获得完整的 Intellisense

    好吧 我知道这个问题已经被问过并回答过很多次了 但我花了大约 3 天的时间试图解决这个问题 但到目前为止我所做的一切都没有奏效 我基本上在 Visual Studio Code 中有部分智能感知 也就是说 它似乎只识别 Unity 类和变量
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 使用 Thread.Sleep() 时,异步编程如何与线程一起工作?

    假设 前言 在之前的问题中 我们注意到Thread Sleep阻塞线程参见 什么时候使用Task Delay 什么时候使用Thread Sleep https stackoverflow com questions 20082221 whe
  • 使用 C 创建立体声正弦波

    我正在尝试用 C 创建立体声正弦 WAV 并且可能有不同的 可能是空白的 左声道和右声道 使用此函数为每个通道生成一个音调 int16 t create tone float frequency float amplitude float
  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先
  • 使用经度和纬度查找给定距离内的所有附近客户

    我有一个包含客户经度和纬度的数据库 我有一个搜索表单 用户将在其中输入日志 纬度 距离下拉列表包含 50 英里 100 英里 当用户单击搜索时 我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户 如何使用 C 和 linq 来
  • Boost async_write问题

    我将展示一些代码 void wh const boost system error code ec std size t bytes transferred std cout lt lt test int main int argc cha
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 使用 cryptoapi CryptImportKey 导入公钥时出错

    我想将公钥 blob 导入到 CSP 但发生了错误 BYTE pbData 0xEB 0x2A 0x38 0x56 0x86 0x61 0x88 0x7F 0xA1 0x80 0xBD 0xDB 0x5C 0xAB 0xD5 0xF2 0x
  • 无论表单上的焦点控件如何,如何捕获 Keys.F1?

    我使用了 KeyDown 事件和一些简单的代码 例如if e KeyCode Keys F1 捕获在表单上按下 F1 但如果表单上有一些文本框 或者表单上有一些带有 Dock Fill 的电子表格 则上面的代码将毫无用处并且不执行任何操作
  • 修改公共属性的访问修饰符是否是重大更改?

    如果我将公共属性的 setter 的访问修饰符从私有更改为公共 是否会导致引用它的其他程序集发生任何重大更改 UPDATE 这个问题是我 2012 年 1 月博客的主题 https ericlippert com 2012 01 09 ev
  • Yield Return == IEnumerable 和 IEnumerator 吗?

    Is yield return实施的捷径IEnumerable and IEnumerator 是的 您可以在我的书 C in Depth 的第 6 章中找到更多相关信息 幸好第六章是免费提供 http www manning source
  • 什么是多重重继承?

    我将以下称为 多重重新继承 直接继承一个类一次 并通过继承其一个或多个后代来间接继承一次或多次 通过继承一个类的两个或多个后代来间接继承一个类两次或多次 我想知道它是否存在以及如何明确访问嵌入的子对象 1 Professional C 2n

随机推荐

  • Julia JIT 编译、@time 和分配数量

    我刚刚开始评估 Julia 版本 0 6 0 并且测试了如何调整大小 和尺寸提示 可能会影响性能 我使用 time宏 文档说 运行一次进行 JIT 编译 但如果我们检查分配数量 运行一次似乎还不够 module Test function
  • 子集约束在 UML 类图中意味着什么

    有subset在部门类和人员类之间 但我不知道比是什么意思 家庭作业机会 查看由子集约束链接的两个关系 每个部门有多名成员 每个部门设经理一名 子集表示这两者之间的约束 如果后一个关系的元素是第一个关系的子集 那么你会如何描述其含义 EDI
  • 无法在反应挂钩中单击按钮时绑定单选按钮和复选框数据

    我有一个表单 当我提交数据时 它将发送到服务器并在表格中显示数据 在表中我有编辑按钮 当单击编辑按钮时 数据应该绑定到表单 在这里 我无法绑定输入字段 但不能绑定单选按钮和复选框 const Form gt const data setda
  • 如何在烧瓶应用程序中初始化时加载文件

    我有一个大文件 我们称之为 machine learning model hdf5 每次点击发布请求端点时 我都会将其加载到我的应用程序中 伪代码如下所示 def post self model load model machine lea
  • Cloud Explorer - 无法访问开发 Blob 容器

    我正在使用 VS2015 在本地使用 Azure 存储进行开发 我创建并访问了我的开发存储 blob 容器 效果很好 我上传了三张图像 并有代码来计算图像的大小 由于某些未知原因 我无法再在 Cloud Explorer 中展开 Blob
  • UWP:是否可以创建自己的网络文件(类似于 Onedrive)?

    我正在查看文档确定 Microsoft OneDrive 文件的可用性 https learn microsoft com en us windows uwp files quickstart determining availabilit
  • React Hooks 错误:只能在函数组件体内调用 Hooks

    我在使用时收到此错误useState钩 我有它的基本形式 看看反应文档 https reactjs org docs hooks reference html usestate供参考 但我仍然收到此错误 我已经准备好迎接掌脸时刻了 expo
  • 防止 Access 在切换到设计模式时弄乱它无法理解的查询

    在做了很长时间的其他事情后回到 Access 有一件事确实让我烦恼 那就是如果您无意中在设计模式下打开一个查询 设计器无法表示 sql 即使它是有效的 设计师将为您 更正 您的查询 并且无法撤消 有没有解决这个问题的方法 或者我至少可以让它
  • 如何区分SQLAlchemy IntegrityError的原因?

    SQLAlchemy 似乎只是抛出一个一般IntegrityError当事务存在数据完整性问题时 当然 确切的查询和错误消息包含在异常中 这足以供人调试程序 然而 在为异常编写错误处理代码时 据我所知 似乎没有一个好的方法来检查哪个表上的哪
  • 为什么 ComboBox 是下拉结果整个应用程序性能非常慢?

    我有一个wpf应用程序 有一个奇怪的事情 只要我按下鼠标 ComboBox下拉箭头就会变得所有UI响应都很慢 无论ComboBox是否有项目 烦人的情况只出现在某些计算机上 期待答复 我查看了您可以在互联网上找到的提示 我发现没有任何问题
  • 如何修复“未找到自定义操作文件的安装项目”异常?

    我正在尝试为 Windows 服务创建一个安装项目 我已按照以下指示进行操作http support microsoft com kb 816169 http support microsoft com kb 816169轻松创建安装项目
  • 向ggplot添加水平线

    我想使用 ggplot2 在一个图中绘制多条不同颜色的线 然后添加一条单独的水平线 我的代码如下 在我运行最后一行之前它运行良好p geom hline yintercept 400 所有线条都变成黑色 右侧的图例消失 有谁知道如何解决这个
  • 通过使用显式构造函数将相同的参数传递给每个元素来构造元组

    以下内容在 Visual C 2015 Update 2 上运行良好 请注意A是不可复制的并且A A is explicit include
  • 有没有办法“持久”地将 git 存储库与 SVN 同步?

    从我在网上找到的信息来看 似乎使用git svn不是 坚持 意思是 如果我git svn clone一个存储库 然后推送到 master 并在单独的文件夹中重新拉取一个新副本 该新副本根本不知道 svn 并且无法在不重新应用的情况下用于与
  • 在 Ansible 中创建已安装软件包的报告

    我正在尝试制作一份包含几台机器上已安装的软件包及其版本的报告 该报告必须在执行 playbook 的计算机上创建 这是我当前的剧本 name main hosts all gather facts no become true tasks
  • Excel 中按轮廓级别(组)着色

    我想根据 Excel 中的大纲级别更改单元格的颜色 大纲级别是指列分组的级别 我正在尝试使用 ActiveCell OutlineLevel 属性在 ColorByValue 过滤器中使用 这可能吗 或者 有没有办法通过 VBA 或函数来做
  • Flex:包裹的物品与其他物品的宽度相同

    我使用 Flex 创建一个多列列表 该列表根据容器的宽度调整列数 我发现的问题是 如果我想通过将 flex grow 设置为 1 来使用父级的完整宽度 则最后一个换行行中的项目会未对齐 因为它们试图填充父级 我发现了两种对我不起作用的解决方
  • 如果屏幕尺寸小于指定值,则将水平块转换为垂直块

    在下面的代码中 我希望水平三列块放置并堆叠在彼此之上 以防容器的大小小于 X 像素 对于较小或移动设备 我应该如何以及在表的哪个元素上应用此属性 请注意 代码是一个内容块 因此我不想将 CSS 应用于整个电子邮件模板或电子邮件除非这是解决这
  • HKLM\Software 下的 OpenSubKey 返回 null

    这是我的代码 Microsoft Win32 RegistryKey key Microsoft Win32 Registry LocalMachine OpenSubKey SOFTWARE ADM 该注册表项存在于计算机上 键始终为空
  • ASP.NET Core上的静态文件

    我正在尝试启用静态文件ASP NET Core 2 0Web应用程序 我在一个名为 updater 的文件夹中有一堆文件 该文件夹位于wwwroot文件夹 为了允许访问它们 我添加了 app UseStaticFiles new Stati