save uploaded image thumbnail to sql db image field


D

dodgeyb

Hi there,
Trying to allow client to upload image, thumbnail it, and save it into
sql table image field.
Code compiles & runs but image cannot be retrieved. any clues what I'm
doing wrong pls !


Dim origImage As System.Drawing.Image =
System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream)

' rewind the input stream to read it again to store the
original image in the database
FileUpload1.PostedFile.InputStream.Seek(0, SeekOrigin.Begin)

'make thumbnail

Dim thumbnail As System.Drawing.Image = New
System.Drawing.Bitmap(120, 120)
Dim thisFormat = origImage.RawFormat
Dim ms As MemoryStream = New MemoryStream()
thumbnail.Save(ms, thisFormat)
'System.Drawing.Imaging.ImageFormat.Jpeg)
ms.Seek(0, SeekOrigin.Begin)

Dim buffer(ms.Length) As Byte
ms.Read(buffer, 0, buffer.Length)

Dim cnn As New
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings(1).ConnectionString)
cnn.Open()

Dim cmd As New SqlCommand("UPDATE STAFF SET [email protected] WHERE
STAFF_ID=26", cnn)

Dim ImageContent(buffer.Length) As Byte
Dim intStatus As Integer
intStatus = ms.Read(ImageContent, 0, buffer.Length)
Dim prmImage As New SqlParameter("@img", SqlDbType.Image)
prmImage.Value = ImageContent
cmd.Parameters.Add(prmImage)

cmd.ExecuteNonQuery()
cmd.Dispose()
cnn.Close()
cnn.Dispose()
Response.Write("done")
 
Ad

Advertisements

G

George Ter-Saakov

Your code that puts image into DB looks good except i do not see anywere
where you actually put a thumbnail image into
variable 'thumbnail', you just create empty thumbnail and never make an
actual picture.
but may be you jsut skiped that code.
then probably youe code that reads image from DB is bad

PS: MemoryStream has GetBuffer method..

That would save you creation of ImageContent byte array.

George
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top