10

Hi I'm trying to convert image to byte array to pass it into sql as byte(). Im trying to use Image Converter but it keeps failing

Dim converter As New ImageConverter
nRow.Signature = converter.ConvertTo(imgSignature, TypeOf(Byte())

the error I keep getting is byte is a type not expression

2 Answers 2

19

The VB.NET TypeOf operator doesn't do what you think it does. Somewhat confusing perhaps due to the C# typeof operator. The VB.NET equivalent is the GetType() function. This works fine:

Dim converter As New ImageConverter
nRow.Signature = converter.ConvertTo(imgSignature, GetType(Byte()))

The type converter uses a MemoryStream to make the conversion, using the PNG image format.

Sign up to request clarification or add additional context in comments.

Comments

19

You can use a MemoryStream. By saving the image into a MemoryStream, you can get the byte array of data from the image:

Dim ms = new MemoryStream()
imgSegnature.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) ' Use appropriate format here
Dim bytes = ms.ToArray()

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.