【问题标题】:href download only works for some extensionshref 下载仅适用于某些扩展
【发布时间】:2020-11-09 10:32:58
【问题描述】:

我正在构建一个 ASP.NET Core Web 应用程序,我想在其中提供一个扩展名为 .L5X 的文件作为下载链接。该文件是纯文本,但具有特定于应用程序的扩展名。 这就是我的观点:

<a href="/data/downloads/test.l5x" type="text/xml" id="downloadLink" download>download</a>

我面临的问题是 href 链接不起作用,并且我一直收到“失败 - 无文件”错误。

奇怪的是,当我将扩展名更改为 txt 或 docx(在实际文件和 href 中)时,下载会正常工作。 例如,下面的 href 会起作用:

 <a href="/data/downloads/test.txt" type="text/xml" id="downloadLink" download>download</a>

我搜索了网络,但找不到答案 - 帮助?

【问题讨论】:

  • 我不认为错误是因为这个,但对于 .l5x 使用 type="application/octet-stream" 而不是 text/xml
  • 感谢您的回复 - 我尝试了您的建议,但事实并非如此。我改为使用“application/octet-stream”类型,但仍然显示“失败 - 无文件”。
  • 这就是我得到的:ibb.co/VNJd09m

标签: html asp.net-core href


【解决方案1】:

我假设您在 Windows 服务器上的 IIS 中托管应用程序。如果是这种情况,您应该在 IIS 中添加与您的扩展相匹配的 mime 类型。打开 IIS,选择您的根服务器名称,然后从模块列表中,双击 Mime Type,然后从右侧面板单击添加。在此窗口中,您可以输入带有类型的扩展名。例如文件扩展名字段应该是 .l5x,MIME 类型应该是 'application/octet-stream'。这将简单地解决您的问题。

【讨论】:

  • 感谢您的建议,我试过了,但仍然遇到同样的错误。看起来该应用程序不使用 IIS,当我直接从 VS 启动时,它运行某种包含托管服务,如 ibb.co/bJxzXdb 所示
  • 我认为这为我指明了正确的方向。我发现我需要以不同的方式在 asp.net 核心中注册 mime 类型,如下所述:stackoverflow.com/questions/51770084/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
  • 2018-11-09
  • 2012-10-30
  • 2020-10-21
  • 2019-04-11
  • 2023-03-31
相关资源
最近更新 更多