从Sql Server 2008检索图像数据 [英] Retrieve image data from Sql Server 2008
本文介绍了从Sql Server 2008检索图像数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我能够将来自asp.net网站的图像数据存储到sql server 2008.
我代码: -
Hi all,
I am able to store the image data from asp.net site to sql server 2008.
I us following code:-
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.FileName != "")
{
byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage, 0,
(int)FileUpload1.PostedFile.ContentLength);
SqlConnection myConnection =
new SqlConnection("Data Source =.;Initial Catalog= sandeep; Integrated Security= true");
SqlCommand storeimage =
new SqlCommand("INSERT INTO Iamge_Gallery "
+ "(Img_Id, Image_Content, Image_Type, Image_Size) "
+ " values (4, @image, @imagetype, @imagesize)"
, myConnection);
storeimage.Parameters.Add("@image",
SqlDbType.Image, myimage.Length).Value = myimage;
storeimage.Parameters.Add("@imagetype", SqlDbType.VarChar, 100).Value
= FileUpload1.PostedFile.ContentType;
storeimage.Parameters.Add("@imagesize", SqlDbType.BigInt, 99999).Value
= FileUpload1.PostedFile.ContentLength;
myConnection.Open();
storeimage.ExecuteNonQuery();
myConnection.Close();
Response.Write("successfully upload the image");
}
}
但是多次尝试将图像数据从sql server表显示到图像控件。帮助我实现这一目标。非常有义务。
谢谢。
But tried many times to show image data from sql server table to a image control. Help me to accomplish that. Shall be greatly obliged.
Thank You.
推荐答案
你好,
这是你的完整代码:
服务器端(.cs文件):
protected void Button1_Click(object sender,EventArgs e)
{
if(FileUpload1.PostedFile!= null&&& FileUpload1.PostedFile.FileName!=)
{
byte [] myimage = new byte [FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage,0,
(int)FileUpload1.PostedFile.ContentLength);
$ b
SqlConnection myConnection =
新的SqlConnection(数据源= RASHED-PC;初始目录= TestDB; Integrated Security = true);
SqlCommand storeimage =
new SqlCommand(INSERT INTO Iamge_Gallery
+(Img_Id,Image_Content,Image_Type,Image_Size)
+values(4,@ image,@ imagetype,@ imagesize)
,myConnection);
storeimage.Parameters.Add(@ image,
SqlDbType.Image,myimage.Length).Value = myimage;
storeimage.Parameters.Add(@ imagetype,SqlDbType.VarChar,100).Value
= FileUpload1.PostedFile.ContentType;
storeimage.Parameters.Add(@ imagesize,SqlDbType.BigInt,99999).Value
= FileUpload1.PostedFile.ContentLength;
myConnection.Open();
storeimage.ExecuteNonQuery();
myConnection.Close();
Response.Write(成功上传图片);
GetImageFromDB();
}
}
private void GetImageFromDB()
{
byte [] myimage = new byte [FileUpload1.PostedFile.ContentLength] ;
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage,0,
(int)FileUpload1.PostedFile.ContentLength );
string connStrName =Data Source = RASHED-PC; Initial Catalog = TestDB; Integrated Security = true;
string storeimage =SELECT [Img_Id],[Image_Content],[Image_Type],[Image_Size] FROM [TestDB]。[dbo]。[Iamge_Gallery];
DataTable dt = new DataTable();
SqlDataReader dr = null;
using(SqlConnection conn = new SqlConnection(connStrName))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = storeimage;
cmd.CommandType = CommandType.Text;
conn.Open();
dr = cmd.ExecuteReader();
dt.Load(dr);
conn.Close();
cmd = null;
}
if(dt.Rows.Count> 0)
{
BindApplicantImage((byte [])dt.Rows [0 ] [林age_Content]);
}
Response.Write(成功上传图片);
}
private void BindApplicantImage(byte [] applicantImage)
{
string base64ImageString = ConvertBytesToBase64(applicantImage) ;
imgBox.ImageUrl =data:image / jpg; base64,+ base64ImageString;
}
公共字符串ConvertBytesToBase64(byte [] imageBytes)
{
返回Convert.ToBase64String(imageBytes);
}
客户端:
< form id =form1runat =server>
Hello,
Here is your complete code:
Server side(.cs file):
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null && FileUpload1.PostedFile.FileName != "")
{
byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage, 0,
(int)FileUpload1.PostedFile.ContentLength);
SqlConnection myConnection =
new SqlConnection("Data Source =RASHED-PC;Initial Catalog= TestDB; Integrated Security= true");
SqlCommand storeimage =
new SqlCommand("INSERT INTO Iamge_Gallery "
+ "(Img_Id, Image_Content, Image_Type, Image_Size) "
+ " values (4, @image, @imagetype, @imagesize)"
, myConnection);
storeimage.Parameters.Add("@image",
SqlDbType.Image, myimage.Length).Value = myimage;
storeimage.Parameters.Add("@imagetype", SqlDbType.VarChar, 100).Value
= FileUpload1.PostedFile.ContentType;
storeimage.Parameters.Add("@imagesize", SqlDbType.BigInt, 99999).Value
= FileUpload1.PostedFile.ContentLength;
myConnection.Open();
storeimage.ExecuteNonQuery();
myConnection.Close();
Response.Write("successfully upload the image");
GetImageFromDB();
}
}
private void GetImageFromDB()
{
byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage, 0,
(int)FileUpload1.PostedFile.ContentLength);
string connStrName="Data Source =RASHED-PC;Initial Catalog= TestDB; Integrated Security= true";
string storeimage ="SELECT [Img_Id],[Image_Content],[Image_Type],[Image_Size]FROM [TestDB].[dbo].[Iamge_Gallery]";
DataTable dt = new DataTable();
SqlDataReader dr = null;
using (SqlConnection conn = new SqlConnection(connStrName))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = storeimage;
cmd.CommandType = CommandType.Text;
conn.Open();
dr = cmd.ExecuteReader();
dt.Load(dr);
conn.Close();
cmd = null;
}
if (dt.Rows.Count>0)
{
BindApplicantImage((byte[])dt.Rows[0]["Image_Content"]);
}
Response.Write("successfully upload the image");
}
private void BindApplicantImage(byte[] applicantImage)
{
string base64ImageString = ConvertBytesToBase64(applicantImage);
imgBox.ImageUrl = "data:image/jpg;base64," + base64ImageString;
}
public string ConvertBytesToBase64(byte[] imageBytes)
{
return Convert.ToBase64String(imageBytes);
}
Client Side:
<form id="form1" runat="server">
< asp:fileupload id =FileUpload1runat =serverxmlns:asp =#unknown>
< asp:button id =Button1text =上传图片runat =serveronclick =Button1_Clickxmlns:asp =#unknown>
< asp:image id =imgBoxwidth =200pxheight =200pximageurl =runat =serverxmlns:asp =#unknown>
<asp:fileupload id="FileUpload1" runat="server" xmlns:asp="#unknown">
<asp:button id="Button1" text="Upload Image" runat="server" onclick="Button1_Click" xmlns:asp="#unknown">
<asp:image id="imgBox" width="200px" height="200px" imageurl="" runat="server" xmlns:asp="#unknown">
< / form>
</form>
在SQL Server中存储图像 [ ^ ]
使用标记过程和C#.net 从SQL Server存储和检索图像[ ^ ]
Store Images in SQL Server[^]
Storing and Retrieving Images from SQL Server Using Strored Procedures and C#.net[^]
这篇关于从Sql Server 2008检索图像数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文