Модифицируя старую программу, она сохраняла изображения (.TIF) в базе данных, из-за увеличения размеров файлов. Я пытаюсь извлечь изображения из общей папки, а не сохранять их в базе данных в дальнейшем. Я сделал тестовый фрагмент кода только для типов файлов .TIF, но изображения не отправляются обратно в набор данных. Я пытаюсь изменить веб-службу SOAP, чтобы это изменение не затронуло клиентов, использующих программное обеспечение. Вот что у меня есть:
<WebMethod()> Public Function GetSerialNumbers() As DataSet
Dim daSerialNumbers As New SqlDataAdapter("SELECT Order_No, Serial_Range, Serial_Numbers, Pages, Notes,SequenceId FROM SerialNumbers where Order_No like '" & SN & "' ORDER BY Order_No, Pages", cnSerialNumbers)
Dim dsSerialNumbers As New DataSet
daSerialNumbers.Fill(dsSerialNumbers, "SerialNumbers")
For i = 0 To dsSerialNumbers.Tables("SerialNumbers").Rows.Count - 1
If dsSerialNumbers.Tables("SerialNumbers").Rows(i).Item("Pages").ToString.Contains(".TIF") Then
Dim newImage As System.Drawing.Image = Drawing.Image.FromFile("C:\temp\660-50369.tif")
dsSerialNumbers.Tables("SerialNumbers").Rows(i).Item("Contents").value = ImageToPictureArray(newImage)
End If
Next
Return dsSerialNumbers
End Function
Public Function ImageToPictureArray(ByVal picImage As System.Drawing.Image) As Byte()
Dim ms As New MemoryStream
picImage.Save(ms, picImage.RawFormat)
Dim arrImage() As Byte = ms.GetBuffer
ms.Close()
Return arrImage
End Function
Это старый код, который намного проще загрузить из базы данных sql ...
<WebMethod()> Public Function GetSerialNumbers() As DataSet
Dim daSerialNumbers As New SqlDataAdapter("SELECT Order_No, Serial_Range, Serial_Numbers, Pages, Notes, Contents,SequenceId FROM SerialNumbers3 where Order_No like '" & SN & "' ORDER BY Order_No, Pages", cnSerialNumbers)
Dim dsSerialNumbers As New DataSet
daSerialNumbers.Fill(dsSerialNumbers, "SerialNumbers")
Return dsSerialNumbers
End Function