如何在C#中检索图像(jpg文件)

本文关键字:jpg 文件 图像 检索 | 更新日期: 2023-09-27 17:57:56

我是C#的新手,我有以下问题。

我必须检索一个hello.jpg文件,该文件位于我的项目的子目录中。

所以我认为我必须将相对路径放入一个字符串中,并使用这个字符串来创建一个Image对象或类似的东西。

你能帮我吗?

编辑:

我已经把这个代码插入我的课堂:

private System.Web.HttpServerUtility server;
protected System.Drawing.Image _backgroundImg = System.Drawing.Image.FromFile(server.MapPath("~/Path/Relative/To/Root.jpg"));

但我得到以下错误消息:

错误76字段初始值设定项无法引用非静态字段,方法或属性'PdfReport.iTextDocumentBase.server'C:''Develop''EarlyWarning''public''Implementazione''Ver2''PdfReport''iTextDocumentBase.cs 44 87 PdfReport错误77字段初始值设定项无法引用非静态字段,方法或属性'PdfReport.iTextDocumentBase.server'C:''Develop''EarlyWarning''public''Implementazione''Ver2''PdfReport''iTextDocumentBase.cs 44 87 PdfReport

为什么?我该怎么解决?

如何在C#中检索图像(jpg文件)

您可以使用Server.MapPath查找文件,使用Image.FromFile加载文件:

var image = Image.FromFile(Server.MapPath("~/Path/Relative/To/Root.jpg"));

尽管-Image使用的是GDI+,但这可能不是web服务器上最好的。

当然,这是假设您希望在服务器代码中使用该图像。如果你想把它显示给客户端,你只需要使用HTML,不需要服务器代码。

将图像路径存储在lbllogo中lbl徽标。Text=fuLogo。FileName。ToString();

使用GetFileName显示图像lbl徽标。Text=系统。IO.Path.GetFileName(imgLogo.ImageUrl);

实际上这里的答案是正确的,但似乎有点混乱,因为你是新手。

以下是您必须解决的问题:

  • 在项目中创建一个新文件夹,将文件夹命名为Images
  • hello.jpg图像复制到Images文件夹中
  • 现在您的图像路径是:~/Images/hello.jpg

现在,为了在页面中显示您的图像,您应该在aspx页面中创建一个图像控件,然后在其中显示hello.jpg图像。

在Page_Load事件中执行以下操作:

 protected void Page_Load(object sender, EventArgs e)
    {
        Image img = new Image();
        img.ImageUrl = "~/Images/hello.jpg";
        Page.Controls.Add(img);
    }

同样,其他答案也是正确的,但您需要将其答案中的URL更改为图像的正确URL。

我还注意到您试图在代码中创建一个server对象?您不必创建服务器对象,因为它已经在您的Page控件中,并且可以像Page.Server一样访问它。