将图像存储在SQL Server数据库中 [英] Store Image in sql server Database
本文介绍了将图像存储在SQL Server数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用vb.net和wcf Servics将图像存储在数据库varbinary列中
使用代码
I Am trying to store image in database varbinary Column using vb.net and wcf Servics
Using code
Private Function SaveImage() As Byte()
Dim arrayImage() As Byte = Nothing
If (pic_meetPicture.Image Is Nothing) Then
arrayImage = Nothing
Else
Try
Dim ms As New MemoryStream
Me.pic_meetPicture.Image.Save(ms, Me.pic_meetPicture.Image.RawFormat)
arrayImage = ms.GetBuffer
ms.Close()
arrayImage = Process.Compressor.UICompressor.Compress(arrayImage)
Catch ex As Exception
End Try
End If
Return arrayImage
End Function
Public Shared Function Compress(ByVal buffer As Byte()) As Byte()
Dim ms As MemoryStream = New MemoryStream()
Dim zip As GZipStream = New GZipStream(ms, CompressionMode.Compress, True)
zip.Write(buffer, 0, buffer.Length)
zip.Close()
ms.Position = 0
Dim outStream As MemoryStream = New MemoryStream()
Dim compressed() As Byte = New Byte(ms.Length) {}
ms.Read(compressed, 0, compressed.Length)
Dim gzBuffer() As Byte = New Byte(compressed.Length + 4) {}
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length)
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4)
Return gzBuffer
End Function
用于显示图像
for display image
Private Sub SetImage(ByVal array As ArrayList)
Dim arrayImage() As Byte = array(0).Image
arrayImage = CType(Process.Compressor.UICompressor.Decompress(arrayImage), Byte())
If arrayImage IsNot Nothing Then
Dim ms As New MemoryStream(arrayImage)
pic_meetPicture.Image = Image.FromStream(ms)
pic_meetPicture.SizeMode = PictureBoxSizeMode.StretchImage
End If
End Sub
Public Shared Function Decompress(ByVal gzBuffer As Byte()) As Byte()
Dim ms As MemoryStream = New MemoryStream()
Dim msgLength As Integer = BitConverter.ToInt32(gzBuffer, 0)
ms.Write(gzBuffer, 4, gzBuffer.Length - 4)
Dim buffer() As Byte = New Byte(msgLength) {}
ms.Position = 0
Dim zip As GZipStream = New GZipStream(ms, CompressionMode.Decompress)
zip.Read(buffer, 0, buffer.Length)
Return buffer
End Function
但是当从数据库中获取图像时出现错误有效参数"
请帮助
感谢
But when fetch image from databse then getting error ''parameter in valid''
please Help
thanks
推荐答案
无需查看将数据存储在DB中的代码,我就可以确定问题出在哪里:停止将字符串连接起来以形成ans SQL命令!
请参阅此处:为什么我会得到一个参数无效."从数据库读取图像时出现异常? [
Without looking at your code to store the data in teh DB, I can be pretty sure what the problem is: Stop concatenating strings to form ans SQL command!
See here: Why do I get a "Parameter is not valid." exception when I read an image from my database?[^]
这篇关于将图像存储在SQL Server数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文