在我的网络应用程序中,我动态生成图像,并希望将图像显示为网页的一部分。
但是,在使用ASP.NET开发服务器(而不是IIS)进行调试时 - 我不知道 where 来存储这些图像,以便可以从我的Web应用程序中引用它们。
我应该使用 Directory.GetCurrentDirectory()吗?
或 Assembly.GetExecutingAssembly()。位置?
或 Assembly.GetExecutingAssembly()。CodeBase ?
这些路径似乎都不起作用。
有什么想法吗?
答案 0 :(得分:3)
Server.MapPath("~/")
将为您提供Web应用程序根目录的路径。所有放在此路径范围内的内容都应由Web服务器自动公开,无论是IIS还是VS开发服务器。
Server
属性适用于所有Page
个对象,否则可以在HttpContext
上找到。
答案 1 :(得分:1)
您可以使用
答案 2 :(得分:1)
您可以动态地将ashx处理程序写入服务器映像。 Here是这方面的教程。您希望以后生成并显示它们,然后在您的网站文件夹树中创建一个文件夹并使用它来获取其物理路径:
string imgPath = Server.MapPath("/") + "Images\" + IMAGENAME;
答案 3 :(得分:1)
创建一个单独的aspx页面,并将代码放在上面以创建动态图像。 你的代码应该看起来像....
Response.ContentType = dtblProductImage[0].ImageFileExt;//image extension
Response.BinaryWrite(dtblProductImage[0].ImageData); //your image binary
现在转到要显示图像并将imageURL的图像属性设置到页面的页面,它将如下所示....
<asp:Image ID="imgProduct" runat="server" ImageUrl="yourpage.aspx" />