2

我无法找到正确的路径来传递到标记的src属性,该<img>标记引用存储在 C# 项目的资源文件夹中的图像。(构建操作:内容。复制到输出目录:如果较新则复制)

我有一个 RESTFUL 服务,它会根据 URL 中的 id 生成发票 PDF。为了生成 PDF,该服务使用 Handlebars.Net 为发票生成 HTML,并使用 Select.HtmlToPdf 将该 HTML 转换为 PDF。

当我逐步执行我的代码时,使用 Select.HtmlToPdf 生成 PDF 的项目似乎有一个当前工作目录C:\Program Files (x86)\IIS. (我发现通过设置快速手表:System.IO.Directory.GetCurrentDirectory().

生成的 PDF 未显示我想要显示的图像。我已经在控制台应用程序中按预期完成了这项工作,所以我怀疑问题是我src在 HTML 中传递给参数的路径对于这个项目是不正确的。

当我构建时,我可以在\bin\Resources\. 我应该传递给该标签src属性的该图像资源的相对路径是什么?<img>

更新 05/16

我没有生成 PDF,而是让我的控制器将 HTML 返回到浏览器以查看它是否能正确显示。它做了。在这种情况下,标签的src属性是。看起来,当浏览器通过调用来获取图像时,控制器会正确转换该路径。<img>\Resources\image.png<baseurl>\Resources\image.png

所以我的问题是 Select.HtmlToPdf 没有发出网络请求来获取图像,它将该src参数作为它需要加载的图像文件的本地路径,所以我需要找到一种方法来访问我的 Resources 文件夹bin 目录通过 IIS 环境设置的虚拟目录。

4

0 回答 0