我有一个带有生成图像的库的 ASP.NET 应用程序。它的设置如下:
在 Web.config 中,我在<httpHandlers>部分有一个声明,如下所示:
<add path="My.image.aspx" verb="GET" type="MyProject.Handlers.MyImageHandler, MyProject" validate="false"/>
这会将生成图像的代码链接到该路径,然后在我的 .aspx 页面上使用,如下所示:
<asp:Image ImageUrl="My.image.aspx" BorderWidth="0" ID="myImage" runat="server"/>
正常查看此页面时,图像已正确加载。
但是,我需要将此图像输出到 PDF 文件,但是因为 PDF 不会正确解释带有该 URL 的页面 HTML(说它找不到资源,因为这些文件仅限于解释基本的 HTML/CSS),我想尝试在后面的代码中加载图像并以这种方式输出到 PDF。但是,我不知道如何在后面的代码中加载这个图像。我尝试了以下方法:
System.Drawing.Image img = System.Drawing.Image.FromFile("My.image.aspx");
但没有运气。有没有一种正确的方法可以从我指定的 httpHandler 后面的代码中加载这个图像?
编辑:我找到了一种解决方法,因为我无法从后面的代码中加载图像。相反,我刚刚使用 <asp:Image> 控件在页面上加载文件并触发处理程序。当处理程序创建 System.Drawing.Image 文件时,我可以将其添加到 Session 对象中,以便稍后在该页面上使用。但是,在不使用前端 ASP 控件的情况下,我仍然无法从后面的代码中触发所有这些。