Преобразование BitmapImage в байт-массив и сохранение его в базе данных Sql

Я хочу сохранить растровое изображение в байт, но во время выполнения я получаю ошибку, например

Преобразование из типа Формат изображения для типа Integer недействителен

Пожалуйста, помогите мне

For Each file As UploadedFile In' DOC.UploadedFiles'
 Context.Cache.Remove(Session.SessionID + "UploadedFile")
 Dim stream As Stream = file.InputStream
 GenerateThumbnails(0.5, stream)

 Dim DocumentImgName = file.FileName
 Dim imgData As Byte() = New Byte(ViewState("CompressedImageData")) {}
 Dim DocumentSplit = DocumentImgName.Split(".")

 Dim ImgName = DocumentSplit(0)
 Dim ImgExt = DocumentSplit(1)

 stream.Read(imgData, 0, imgData.Length)

 ViewState("imgData") = imgData
 ViewState("FileName") = ImgName
 ViewState("FileExtension") = ImgExt

 Dim ms As New MemoryStream()

 ms.Write(imgData, 0, imgData.Length)
 Next

Private Sub GenerateThumbnails(ByVal scaleFactor As ******, ByVal sourcePath As Stream)

 Using image__1 = Image.FromStream(sourcePath)

 ' can given width of image as we want
 Dim newWidth = CInt(image__1.Width * scaleFactor)

 ' can given height of image as we want
 Dim newHeight = CInt(image__1.Height * scaleFactor)

 Dim thumbnailImg = New Bitmap(newWidth, newHeight)
 Dim thumbGraph = Graphics.FromImage(thumbnailImg)

 thumbGraph.CompositingQuality = CompositingQuality.HighQuality
 thumbGraph.SmoothingMode = SmoothingMode.HighQuality
 thumbGraph.InterpolationMode = InterpolationMode.HighQualityBicubic

 Dim imageRectangle = New Rectangle(0, 0, newWidth, newHeight)

 thumbGraph.DrawImage(image__1, imageRectangle)

 ViewState("CompressedImageData") = image__1.RawFormat

 End Using
 End Sub
1 ответ

Вы можете сохранить данные изображения после преобразования его в байтовый тип данных, как показано ниже:

Dim ms As New Syste.IO.MemoryStream
Me.PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
Dim byteImage() As Byte = ms.ToArray

Затем вы можете сохранить ByteImage() в поле, где его тип - Image или Varbinary.

licensed under cc by-sa 3.0 with attribution.