我将图像文件放置在一台服务器上,将应用程序放置在另一台服务器上。
我想访问该图像,下面是我编写的代码:
在default.aspx上,我有
<asp:Image ID="Image1" runat="server" ImageUrl= "GetImage.aspx?imgName=MyImage.jpg" />
在 GetImage.aspx 上,我在 page_load 上编写了以下代码
protected void Page_Load(object sender, EventArgs e)
{
// Changing the page's content type to indicate the page is returning an image
Response.ContentType = "image/jpg";
var imageName = Request.QueryString["imgName"];
var path = "//SERVER/FOLDER/" + imageName;
if ((string.IsNullOrEmpty(imageName) == false))
{
// Retrieving the image
System.Drawing.Image fullSizeImg;
fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(path));
// Writing the image directly to the output stream
fullSizeImg.Save(Response.OutputStream, ImageFormat.Jpeg);
// Cleaning up the image
fullSizeImg.Dispose();
}
}
但我收到错误
fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(path));
请让我知道我哪里不正确。除了 Server.MapPath 之外,我还需要其他什么吗?因为我的图像在其他服务器上。
EDIT
- 我的电脑中有图像文件夹
- 我在其他计算机[同一网络]中创建了一个网络应用程序,已部署
在IIS中,图像显示正确。与类似的路径http://10.67.XX.XX/websiteName/Default.aspx
- 但是当我尝试从我的计算机或任何其他计算机访问相同的内容时
电脑上看不到图像。
你不应该使用Server.MapPath
。这用于将站点下的虚拟路径映射到文件系统下的物理路径。如果该文件存在于另一台服务器上,则直接通过名称访问即可,无需Server.MapPath
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)