试图在blazor页面的@code部分打开一个图像,但我一直收到以下错误。
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:imgAccountPamphlet Design.png'
以下是我尝试过的代码:
var path = Path.Combine(Environment.ContentRootPath, @"/img/Account/Pamphlet Design.png");
var plampletBitmap = new Bitmap(path); // Error Here
我不确定Blazor是否可以访问ASP.NET内容根路径,可能是在服务器模式下,几乎可以肯定不是在web程序集模式下。
通常,要访问图像,您可以在Blazor客户端的wwwroot下创建/images文件夹,并通过:images/filename从那里加载图像。我只是计算模型中的路径,并将其直接绑定到<img src="@Model.ImagePath">
对于Blazor服务器,你可以尝试Path.Combine(Environment.ContentRootPath, "wwwroot", "img/Account", "Pamphlet Design.png");
/img";如果不是的话,可能也是问题所在。
确保您的项目的wwwroot文件夹中有文件"wwwroot\img\Account\Pomphlet Design.png">
在您的剃须刀页面中,在剃须刀页面中注入WebHostEnvironment
@inject IWebHostEnvironment hostEnvironment;
获取类似的文件路径
string path = hostEnvironment.WebRootPath + @"imgAccountPamphlet Design.png";
我创建了一个;图像";文件夹在";wwwroot";
复制";myimage.jpg";在";图像";文件夹
< img src="../Image/myimage.jpg" alt="myimage..." >
它工作于