我有一个Blazor组件库,它有一个PDFGenerator组件。我通过Blazor服务器应用程序使用这个库,我必须发送图像的路径才能将其添加到PDF中。在开发阶段,它运行良好,但在部署到测试服务器后,由于路径的原因,我收到了一个错误
服务器应用程序:var Path="..\BlazorUI\Blazor.Components\wwwroot\Images\Logo.png"
Blazor组件库Image image = section.Headers.Primary.AddImage(ImageSource.FromFile(path));
错误System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:WebserviceBlazorUIBlazor.ComponentswwwrootImagesLogo.png
服务器中Images文件夹的路径:C:Webserviceapplicationwwwroot_contentBlazor.ComponentsImages
我的问题:如何使用动态路径在开发阶段和测试服务器中工作
感谢
我做了一个临时解决方案:
var path = "";
var publishFolder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\_content\Blazor.Components");
//Publish mode
if (Directory.Exists(publishFolder))
{
path = Path.Combine(publishFolder, restPath);
}
//development mode
else
{
path = Path.Combine("..\BlazorUI\Blazor.Components\wwwroot\", restPath);
}
Image image = section.Footers.Primary.AddImage(ImageSource.FromFile(path));
注意
发布后:此路径_content/Blazor.Components/Images
已在服务器中主应用程序文件夹的wwwroot
中创建。