Answer
Dec 26, 2008 - 08:49 PM
#####Saving Photo in SQL Server Using SqlClient
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
using (BinaryReader reader = new BinaryReader
(FileUpload1.PostedFile.InputStream))
{
byte[] image = reader.ReadBytes
(FileUpload1.PostedFile.ContentLength);
SaveImage(image);
}
}
}
private int SaveImage(byte[] image)
{
int rowsAffected;
using (SqlConnection connection = new SqlConnection(“...“))
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "INSERT INTO Photos
(Photo) VALUES (@Photo)";
command.Parameters.AddWithValue("@Photo", image);
connection.Open();
rowsAffected = command.ExecuteNonQuery();
}
}
return rowsAffected;
}
######Display Photo In SQL Server Using ASP.NET
protected void Page_Init(object sender, EventArgs e)
{
if (Request.QueryString["id"] != null)
{
int id;
if (Int32.TryParse(Request.QueryString["id"], out id))
{
Response.Clear();
Response.ContentType = "image/jpeg";
Image image = RetrieveImage(id);
image.Save(Response.OutputStream, ImageFormat.Jpeg);
}
}
}
private Image RetrieveImage(int photoId)
{
Image image = null;
using (SqlConnection connection = new SqlConnection("..."))
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT Photo FROM Photos
WHERE PhotoId = @PhotoId";
command.Parameters.AddWithValue("@PhotoId", photoId);
connection.Open();
byte[] imageData = (byte[])command.ExecuteScalar();
MemoryStream memStream = new MemoryStream(imageData);
image = Image.FromStream(memStream);
}
}
return image;
}
###### OR #########################
Code in the OnClick event of the Submit button
Dim intImageSize As Int64
Dim strImageType As String
Dim ImageStream As Stream
' Gets the Size of the Image
intImageSize = PersonImage.PostedFile.ContentLength
' Gets the Image Type
strImageType = PersonImage.PostedFile.ContentType
' Reads the Image
ImageStream = PersonImage.PostedFile.InputStream
Dim ImageContent(intImageSize) As Byte
Dim intStatus As Integer
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
' Create Instance of Connection and Command Object
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim myCommand As New SqlCommand("sp_person_isp", myConnection)
' Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure
' Add Parameters to SPROC
Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)
prmPersonImage.Value = ImageContent
myCommand.Parameters.Add(prmPersonImage)
Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)
prmPersonImageType.Value = strImageType
myCommand.Parameters.Add(prmPersonImageType)
Try
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
Response.Write("New person successfully added!")
Catch SQLexc As SqlException
Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())
End Try
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
using (BinaryReader reader = new BinaryReader
(FileUpload1.PostedFile.InputStream))
{
byte[] image = reader.ReadBytes
(FileUpload1.PostedFile.ContentLength);
SaveImage(image);
}
}
}
private int SaveImage(byte[] image)
{
int rowsAffected;
using (SqlConnection connection = new SqlConnection(“...“))
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "INSERT INTO Photos
(Photo) VALUES (@Photo)";
command.Parameters.AddWithValue("@Photo", image);
connection.Open();
rowsAffected = command.ExecuteNonQuery();
}
}
return rowsAffected;
}
######Display Photo In SQL Server Using ASP.NET
protected void Page_Init(object sender, EventArgs e)
{
if (Request.QueryString["id"] != null)
{
int id;
if (Int32.TryParse(Request.QueryString["id"], out id))
{
Response.Clear();
Response.ContentType = "image/jpeg";
Image image = RetrieveImage(id);
image.Save(Response.OutputStream, ImageFormat.Jpeg);
}
}
}
private Image RetrieveImage(int photoId)
{
Image image = null;
using (SqlConnection connection = new SqlConnection("..."))
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT Photo FROM Photos
WHERE PhotoId = @PhotoId";
command.Parameters.AddWithValue("@PhotoId", photoId);
connection.Open();
byte[] imageData = (byte[])command.ExecuteScalar();
MemoryStream memStream = new MemoryStream(imageData);
image = Image.FromStream(memStream);
}
}
return image;
}
###### OR #########################
Code in the OnClick event of the Submit button
Dim intImageSize As Int64
Dim strImageType As String
Dim ImageStream As Stream
' Gets the Size of the Image
intImageSize = PersonImage.PostedFile.ContentLength
' Gets the Image Type
strImageType = PersonImage.PostedFile.ContentType
' Reads the Image
ImageStream = PersonImage.PostedFile.InputStream
Dim ImageContent(intImageSize) As Byte
Dim intStatus As Integer
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
' Create Instance of Connection and Command Object
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim myCommand As New SqlCommand("sp_person_isp", myConnection)
' Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure
' Add Parameters to SPROC
Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)
prmPersonImage.Value = ImageContent
myCommand.Parameters.Add(prmPersonImage)
Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)
prmPersonImageType.Value = strImageType
myCommand.Parameters.Add(prmPersonImageType)
Try
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
Response.Write("New person successfully added!")
Catch SQLexc As SqlException
Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())
End Try
Add New Comment