2 回答

TA貢獻1802條經驗 獲得超5個贊
的默認值_host.ContentRootPath
等于Directory.GetCurrentDirectory()
,但前提是您使用WebHost.CreateDefaultBuilder
。從文檔中:
CreateDefaultBuilder
執行以下任務:
...
將內容根設置為 . 返回的路徑
Directory.GetCurrentDirectory
。
您的代碼假設始終ContentRootPath
與相同,但這并不總是正確的。如果您不使用,或者您的代碼分為多個項目(正如您在評論中提到的),它們將不會指向同一個地方。Directory.GetCurrentDirectory
CreateDefaultBuilder

TA貢獻1804條經驗 獲得超8個贊
下面的代碼對我有用:
app.UseCors("CorsPolicy");
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"uploads")),
RequestPath = new PathString("/StaticFiles")
});
app.UseMvc();
它需要該uploads文件夾應該存在于根目錄中,否則會拋出錯誤。假設結構是 ApplicationName/uploads/a.jpg ,您可以使用如下:
<img src="http://localhost:xxxx/StaticFiles/a.jpg">
要在服務器端保存圖像,您可以通過以下方式找到路徑:
var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), "uploads");
- 2 回答
- 0 關注
- 129 瀏覽
添加回答
舉報