如何在C#中的Web应用程序中从服务器加载图像

ksc*_*ler 3 c# asp.net image

我实际上有一个C#winform应用程序,它C://images/...使用Image对象和函数Fromfile 从我的计算机加载图像.

Image.FromFile(Path);
Run Code Online (Sandbox Code Playgroud)

但在我的网络应用程序(ASP)

<asp:Image ID="viewPhoto" runat="server" Width="550px" Height="400px"/>
Run Code Online (Sandbox Code Playgroud)

我使用ImageURL属性.

viewPhoto.ImageURL = Path
Run Code Online (Sandbox Code Playgroud)

但问题是,由于这种方式,它找不到正确的路径.路径将是http://localhost:3656/C://images....

我想直接从我的服务器加载图像,以便为我的两个应用程序提供正确的路径.(web ASP和winform)

Image.FromFile(/images/myimage.jpg)
Run Code Online (Sandbox Code Playgroud)

这实际上不起作用,因为程序在此路径中找不到任何照片.

HAB*_*JAN 8

首先,我认为您尝试显示的图像不在Web应用程序文件夹/虚拟目录中.将图像文件夹移动到Web应用程序文件夹,然后使用:

Page.ResolveClientUrl("images/test.jpg");
Run Code Online (Sandbox Code Playgroud)

或者服务器端:

Server.MapPath("images/test.jpg");
Run Code Online (Sandbox Code Playgroud)

如果您不想将图像移动到Web文件夹,那么您唯一的选择是编写HttpHandler,它将从C:\ images文件夹中读取图像并将其传输到客户端.这还需要您的Web应用程序IIS用户的某些特定权限才能访问Web应用程序范围之外的某个文件夹.

你可以在这里看到HttpHandler的样本:Thumbnailer HTTP Handler