簡體   English   中英

如何允許Powershell從.net核心MVC Web應用程序下載EXE?

[英]How to allow powershell to download an EXE from a .net core MVC web app?

我有一個依賴於.net Framework控制台應用程序的.net核心MVC Web應用程序。 構建Core應用程序時,控制台應用程序也生成,我在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,            
    });

.Net Core應用程序從wwwroot目錄提供靜態文件(您可以在Startup.cs中看到此文件)。

要提供靜態文件,您需要將其復制到那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM