我有一个依赖于 .net 框架控制台应用程序的 .net 核心 MVC 网络应用程序。当核心应用程序构建时,控制台应用程序也会构建,我在 bin 目录中获得了 exe
:
这很好用,但是现在我需要通过 Web 应用程序提供一个端点,允许任何人下载 EXE(目的是允许 powershell 脚本通过端点下载 exe)。
如何实现?
我了解以下内容可用于实际下载文件:
Invoke-WebRequest http://localhost:8080/download/tokenizer.exe -OutFile c:\download\tokenizer.exe
但是我不知道如何让 exe
可访问。我认为我需要将 EXE 从 bin
移动到某个目录,然后我将其配置为可公开访问,但我在这里忘记了细节。
最佳答案
默认情况下,ASP.NET Core 静态文件中间件将只提供它理解的内容类型。未知文件类型将返回 404。
中间件可以配置为提供未知文件类型,但是显式添加您自己的内容类型更安全:
var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".exe"] = "application/vnd.microsoft.portable-executable";
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = provider,
});
关于c# - 如何允许 powershell 从 .net 核心 MVC web 应用程序下载 EXE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47423744/