回 帖 发 新 帖 刷新版面

主题:如何在网上显示图像?

我使用  
  image.Save("c:\\drawline2.gif",System.Drawing.Imaging.ImageFormat.Gif);
                Image1.ImageUrl="c:\\drawline2.gif";
在我的机器上存储图像文件,但是通过局域网在其他机器上调用发现不能显示图像,清高手指点,在这里谢谢了!
而且,如果写成:
image.Save("C:\\Inetpub\\wwwroot\\WebApplication101\\drawline2.gif",System.Drawing.Imaging.ImageFormat.Gif);
                Image1.ImageUrl="C:\\Inetpub\\wwwroot\\WebApplication101\\drawline2.gif";
这样就连已经在本机上画好的图像也画不出来了,为什么?谢谢大虾了!

回复列表 (共7个回复)

沙发

用相对路径或者使用MapPath返回的绝对路径。

板凳

当我使用:
string newPath;
string myPath="\\";
newPath =HttpContext.Current.Server.MapPath(myPath);
string myFileName;
myFileName ="drawline2.gif";
string temp = newPath + myFileName ;
image.Save(temp,System.Drawing.Imaging.ImageFormat.Gif);        
Image1.ImageUrl=temp;
时,显示错误:GDI+一般性错误!
不知道如何修改!在别人机器上是正确的,而我的机器上是错误!谢谢大虾了!

3 楼

MapPath的参数是相对路径,也就是说,如果传入文件的相对路径,就会得到相应的绝对路径。

因此,同一文件夹下的文件可以这样访问:
string tmp=HttpContext.Current.Server.MapPath("drawline2.gif");

4 楼

    我修改后:
string tmp=HttpContext.Current.Server.MapPath("drawline2.gif");
image.Save(tmp,System.Drawing.Imaging.ImageFormat.Gif);        
   Image1.ImageUrl=tmp;

但是调试时仍出现错误:GDI+ 中发生一般性错误。为什么?我不知道如何修改!

5 楼

知道仍为绝对路径,修改为
                Response.ContentType="image/gif";

   image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);
   Image1.ImageUrl="Response.OutputStream";
后发现在网络上也可以显示图像,但是已经不是在webform.aspx中设计的页面了。只显示图像,这样怎么修改呢?

6 楼

怎么没有人回答呢?正在网上等!谢谢了!

7 楼

怎么没有人回答呢?正在网上等!谢谢了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册