如题我知道两种方法,但是不知道具体的怎么实现
1.在sql中保存图片的物理路径
我尝试了这个方法,在数据库中定义了varchar字段,保存了D:\Inetpub\wwwroot\NetShop\Img\home.gif图片
但是不知道怎么将图片显示出来,我是用datalist模板中加了个image,绑定相应的字段,但是没有成功,是哪里的问题啊?2.转化为二进制,保存在image类型下
不是很清楚,望赐教~!
1.在sql中保存图片的物理路径
我尝试了这个方法,在数据库中定义了varchar字段,保存了D:\Inetpub\wwwroot\NetShop\Img\home.gif图片
但是不知道怎么将图片显示出来,我是用datalist模板中加了个image,绑定相应的字段,但是没有成功,是哪里的问题啊?2.转化为二进制,保存在image类型下
不是很清楚,望赐教~!
不是很清楚,望赐教~!
VB CODE 不知道對你是否有用
If DataGrid1.ApproxCount < 1 Then Exit Sub
If MsgBox("是否接收【" & DataGrid1.Columns(3).Text & "】傳送的『" & DataGrid1.Columns(1).Text & "』嗎?", vbQuestion + vbYesNo) = vbYes Then
On Error GoTo err_file
CommonDialog1.CancelError = True
CommonDialog1.FileName = DataGrid1.Columns(7).Text
CommonDialog1.ShowSave
filepath = CommonDialog1.FileName
Me.MousePointer = 11
Set cn = New ADODB.Connection
cn.ConnectionString = ConnectString
cn.Open
Set rs = New ADODB.Recordset
rs.Open "Select * from tb_file where file_id='" & frmfileIncept.Adofile.Recordset.Fields(0).Value & "'", cn, adOpenStatic, adLockOptimistic
Set mst = New ADODB.Stream
mst.Type = adTypeBinary
mst.Open
mst.Write rs.Fields(6).Value
mst.SaveToFile filepath, adSaveCreateOverWrite
rs.Close
cn.Close
Me.MousePointer = 0
MsgBox "下載成功! " & "文件保存在: " & frmfileIncept.filepath, vbInformation, "文件下載"
err_file:
If Err.Number = 32755 Then Exit Sub
End If
路径写成这样就可以了
../home.gif
public void imgToDB(string url,string strConn)
{
FileStream fs = File.OpenRead(url);
byte[] imageb = new byte[fs.Length];
fs.Read(imageb, 0, imageb.Length);
fs.Close();
SqlConnection conn = new SqlConnection(strConn);
SqlCommand com = new SqlCommand ();
com.Connection = conn;
com.Parameters.Add("@images", SqlDbType.Image).Value = imageb;
com.CommandText = "insert into tphoto(photo) values(@images)";
if (com.Connection.State == ConnectionState.Closed)
com.Connection.Open();
try
{
com.ExecuteNonQuery();
}
catch
{ }
finally
{
com.Connection.Close();
}
} //读取方法
private void ShowImage(string strConn)
{
SqlConnection conn = new SqlConnection (strConn);
SqlCommand cmd = new SqlCommand("select Photo from tPhoto", conn);
conn.Open();
byte[] b= (byte[])cmd.ExecuteScalar();
if (b.Length>0)
{
MemoryStream stream = new MemoryStream(b, true);
stream.Write(b, 0, b.Length);
pictureBox1.Image = new Bitmap(stream);
stream.Close();
}
conn.Close();
}
VB6向SQL SERVER存入图象:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;258038
VB.NET向SQL SERVER存入图象:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;308042
C#向SQL SERVER存入图象:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158
http://topic.csdn.net/u/20080712/15/18eafcf0-81b4-4906-b3bf-969873fa574e.html