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 关注
- 94 浏览
添加回答
举报