2015-05-04 79 views
0

我从数据库中获取二进制字节,并将它们转换为PNG图像,并将它们保存在项目的/ Images文件夹中,并通过标签显示它们。这些文件是在Developer环境中创建和使用的,但是一旦我发布它,文件就会在images文件夹中创建,但它不会被读取或显示在IMG标签中。图像显示在开发版本,但没有显示后发布项目asp.net

public string Image_Binary(string pic_id) 
    { 
     var imagepath=ConfigurationManager.AppSettings["ImagePath"]; 
     string picstring; 
     string pid = pic_id; 
     string path = imagepath+ pid + ".Png"; 
     if (pid != null && pid != "") 
     { 
      if (File.Exists(Server.MapPath(path))) 
       { 
        picstring = imagepath + pid + ".Png"; 
       } 

      else 
      { 

       DataSet picds = DB.fetchdata("select PictureBinary FROM Picture where Id=" + pic_id); 
       byte[] picbin = (byte[])picds.Tables[0].Rows[0][0]; 
       ImageConverter ic = new ImageConverter(); 
       System.Drawing.Image img = (System.Drawing.Image)ic.ConvertFrom(picbin); 
       img.Save(Server.MapPath(imagepath + pid + ".Png"), System.Drawing.Imaging.ImageFormat.Png); 
       picstring = imagepath + pid + ".Png"; 




      } 
     } 
     else 
     { 
      //picstring = null; 
      picstring = "#"; 
     } 
     return picstring; 
    } 

的Web.config进入

<appSettings> 
    <add key="ImagePath" value="~/ProductImages/" 
</appSettings> 
+2

右键点击你的页面,点击检查元素并查看文件路径,你也应该在404错误控制台 – saj

回答

0

,如果您的影像未存储在默认图片文件夹,然后发布新的文件夹后,将不被包括在内。它不是代码错误。尽可能多的我可以看到代码是正确的。检查你的图像路径,如果该文件夹是在构建后创建的。

+1

很久以前解决了它。但你对这个问题是正确的。 –