【发布时间】:2022-01-13 21:17:06
【问题描述】:
public class FilesController : ControllerBase
{
[HttpGet]
[Route("api/Files/DownloadFile/{ProductID}/{FileName}/{UserID}")]
public FileResult DownloadFile(int ProductID, string FileName, int UserID)
{
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet);
}
}
大家好,我正在使用 API 下载文件。在我的 blazor 服务器应用程序(客户端)中,当用户尝试下载任何文件(例如 .xlsx 或 .ppt 文件)时,它可以在 Chrome 和 Firefox 中运行,但在Microsoft Edge 的情况下,它给了我“pptx 文件无法安全下载”。
我的问题,我可以在 app.settings 或 web.config 中添加任何配置来绕过 SSL/TLS 问题吗?
打开查看错误信息:
【问题讨论】:
-
“API 使用的是 Http 而不是 HTTPS” - 为什么?
-
然后使用 HTTPS。否则你做的任何事情都是不安全的。误差相当准确。我很确定 Chrome 和 Firefox 也不满意,要么你没有注意到警告,要么你使用了从互联网上截断的过时版本,他们不会抱怨。或者有人禁用了警告。不要那样做
-
事实上,Chrome 和 Firefox 早在 年 之前就开始对 HTTP 站点发出大红色的内容模糊警告。声称不需要 HTTPS 的网络管理员和所有者抱怨了一段时间,但很快意识到他们有两个选择 - 修复不安全的网站或丢失所有流量。
-
假设他们已经批准并使用 HTTPS。如果您收到有关自签名开发证书的警告,请在测试机器和客户端上信任它。这就是它的用途。事实上,有很多实际的副本询问如何信任开发证书而不是禁用它。毕竟,您必须做额外的工作才能使用 HTTP 而不是 HTTPS。
-
使用 HTTPS 的另一个原因是您可以通过这种方式获得 HTTP/2 和 远 更快的性能,因为浏览器可以下载 Blazor 并行使用的无数图像、样式表和脚本
标签: c# api blazor blazor-server-side asp.net-blazor