[C#] ASP.NET Core 6.0 - 移除 wwwroot 下特定類型的檔案支援

2023-01-31

上篇文章 ASP.NET Core 6.0 - 放置 .7z 檔案至 wwwroot 可被下載 ( 加入 MIME 支援 ) 說到了原本其實 ASP.NET

原本就支援很多副檔名只要你放在 wwwroot 中就可以下載

有多少檔案類型可以被支援呢,文章下半部分有可以查詢的地方,其實直接去找 github .netcore 原始碼也可以找到



當初會發現這問題是因為我要手動加入 .csv 但是跳出了

Unhandled exception. System.ArgumentException: An item with the same key has already been added. Key: .csv

   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)

   at System.Collections.Generic.Dictionary`2.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add(KeyValuePair`2 keyValuePair)

   at Core6Tutorial.Program.Main(String[] args)


的錯誤,之後我就想如果我想要遮蔽掉某些靜態檔案/副檔名 是不被支援的應該也是可以


話不多說,這邊我就針對 .txt 的 支持給移除


之後我放在 wwwroot 中的 .txt 前端連結到,就會變成 404 錯誤了

下面是我擷取原始碼那邊內建支持的類型


reference:

https://learn.microsoft.com/zh-tw/aspnet/core/fundamentals/static-files?view=aspnetcore-6.0

https://github.com/dotnet/aspnetcore/blob/v2.2.1/src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs


當麻許的超技八 2014 | Donma Hsu Design.