这三种用于获取存储在wwwroot
下的图像的路径的方法之间有什么区别?在我的情况下,似乎所有工作原理都是相同的,但想了解它们之间是否还有其他特定情况下的区别,或者使用另一种方法的好处。
我使用此路径随后将图像加载到Bitmap MyBitmap
变量中以进行进一步处理。无论最终部署到Windows,Linux还是容器,都希望它具有环境适应性;本地或在云中。
在ASP.NET Core 3.0中使用剃刀页面。
public class QRCodeModel : PageModel
{
private readonly IHostEnvironment hostingEnvironment;
public QRCodeModel(IHostEnvironment environment)
{
this.hostingEnvironment = environment;
}
public void OnGet()
{
string TempPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "img", "Image1.png");
string TempPath1 = Path.Combine(Environment.CurrentDirectory, "wwwroot", "img", "Image1.png");
string TempPath2 = Path.Combine(hostingEnvironment.ContentRootPath, "wwwroot", "img", "Image1.png");
}
}
答案 0 :(得分:2)
还有另一种选择:
string TempPath4 = Path.Combine(hostingEnvironment.WebRootPath, "img", "Image1.png");
WebRootPath
返回wwwroot文件夹的路径。
建议不要使用前两个选项,因为它们可能无法返回您想要的位置:Best way to get application folder path