2013-07-11 120 views
0

我想绑定我的图像控制与SQL数据库。我节省了SQL数据库我的图片路径,我来自database.When检索图片的路径我检查通过断点那么它显示我的图像的路径,但画面没有在这里结合是我的代码图像没有约束力

string imagepath = Server.MapPath("~/Pics/"); 
     string serverfilename = Path.GetFileName(AsyncFileUpload1.PostedFile.FileName); 
     string fullpath = Path.Combine(imagepath, serverfilename); 
     string path = "~\\Pics\\" + serverfilename; 
     //string filename = System.IO.Path.GetFileName(AsyncFileUpload1.FileName); 
     //string path = Server.MapPath("~/Pics/") + filename; 

     AsyncFileUpload1.SaveAs(fullpath); 
     // FileUpload1.PostedFile.SaveAs(path); 
     SqlCommand cmd = new SqlCommand("insert findfriend values('" + path + "','" + TextBox1.Text + "')", con); 
     cmd.CommandType = CommandType.Text; 
     cmd.ExecuteNonQuery(); 

     SqlCommand GetImage = new SqlCommand("select * from findfriend where name='" + TextBox1.Text + "'", con); 
     GetImage.CommandType = CommandType.Text; 
     SqlDataAdapter da = new SqlDataAdapter(GetImage); 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 
     Image1.ImageUrl = ds.Tables[0].Rows[0][1].ToString(); 

请告诉我我在哪里做错了

回答

0

我想你忘了将图像添加到页面。

Page.Controls.Add(yourImage); 

如果你有一个已经存在的图像,然后检查图像是否上传并存在目录中。

+0

服务器响应错误:“未知服务器错误” 我得到这个错误,当我做我的 –

+0

图像被成功地上传,它是存在于目录太 –

+0

调试和打印ds.Tables的值[0] .Rows [0] [1]的ToString();并看看它是否正确路径 –

0

数据库通常标识路径格式如下:

string path="Images/Yourfolder/imagename". 

不要添加“〜”而保存到数据库中。

例如:string path="~/Images/..."

刚刚尝试,而你要保存在数据库中更改路径。

如果要保存的路径具有“//”或反斜线“\”,那么它将不会识别该文件夹。保存并检查我上面提到的格式。

我已经使用以下代码来检索从文件上传控制文件,然后将NEWPATH存储在单独的字符串,并把它传递给数据库强制。

filepath = Server.MapPath("~/Images/Gallery/" + uploadedFile.FileName); 
       uploadedFile.SaveAs(filepath); 
       newpath = "/Images/Gallery/" + uploadedFile.FileName; 
+1

数据库不识别任何路径。一个字符串(varchar和所有变体)是一个字符串。如果在他的上下文中用'〜/'来存储路径是合理的,那么这并不重要。 –

+0

它给了我这个路径 Pics/Combineezyshop copy.png 但是当我检查我的页面源时,图像的src属性是emplty –

+0

@SimonBelanger ..在我的情况下,我也遇到了同样的问题,问题完全相同。 n我有这个解决方案将路径保存到数据库中。 –