嵌入式资源在C#asp.net中

时间:2013-05-13 16:06:10

标签: c# asp.net

我有一个c#windows应用程序,我使用sharppdf.dll动态创建pdf文件。 我通过执行以下操作在应用程序中嵌入了某些位图:

  1. 右键单击位图并选择“添加现有项目”
  2. 添加您想要的位图
  3. 在位图属性中,将“Build Action”更改为“Embedded Resource”
  4. 然后要包含位图,我会执行以下操作:

    sharpPDF.pdfDocument myDoc = new sharpPDF.pdfDocument("TEST", "ME", false);
    sharpPDF.pdfPage     myPage;
    
    Stream _imageStream;
    _imageStream = _assembly.GetManifestResourceStream("MyClass.Bitmaps.ArrowUp.bmp");
    Image img = new Bitmap(_imageStream);
    myDoc.addImageReference(img, "ArrowUp");
    myPage.addImage(myDoc.getImageReference("ArrowUp"), nX + 60, nY);
    

    现在我希望将我的应用程序转换为网络,我的问题是如何在我的C#asp.bet Web应用程序中嵌入'我的位图图像? 或者我应该使用不同的概念吗?

2 个答案:

答案 0 :(得分:0)

它完全取决于您想要对图像做什么。

如果这些是您要向用户显示的界面的一部分,您可以将它们全部放入一个文件夹中,并使用HTML和CSS在ASP.NET页面中引用它们,就像在普通网站中一样。

答案 1 :(得分:0)

我认为Windows应用程序和Web应用程序之间的根本区别在于您拥有/控制正在使用的文件。

因此,在Windows应用程序中,您必须将文件包含在用户安装的程序集中,在Web应用程序中,您可以将文件保存在应用程序本身的单独文件夹中。

因此,在您的情况下,这是我认为您正在寻找的代码:

using System.Drawing;
Bitmap img = new Bitmap(HttpContext.Current.Server.MapPath("~\[IMAGE FOLDER]\[IMAGE NAME]"));