2016-01-26 5 views
-2

Я пытаюсь сохранить файл изображения в базу данных с помощью wpf mvvm. Я использую FileStream для чтения файла изображения и сохранить в байт [], как показано ниже:Сохранить файл изображения в базу данных

data = new byte[fs.Length]; 

Затем я передать значение через параметр к методу сохранения. Когда я запускаю программу и проследить ее с Profiler, я понимаю, что байт [] становится ниже:

exec dbo.InsertImage N'System.Byte[]',N'.png' 

байт [], что я получаю в отладке двоичного кода. Я не знаю, почему это делается System.Byte [] при попытке выполнить запрос. Может ли кто-нибудь дать какое-то объяснение и предоставить мне решение? Большое спасибо.

+0

Показать код для метода сохранения – Nkosi

+0

Мой метод очень прост. Используется для вызова хранимой процедуры и передачи параметров в хранимую процедуру. Вот и все. – Donna

ответ

0

Вы получаете «System.Byte []», потому что это то, что вы получаете, когда делаете data.ToString(). Я предполагаю, что любой метод, который вы используете для сохранения этого байтового массива в базе данных, не знает, как обращаться с типом byte[], поэтому он просто вызывает на нем ToString().

Посмотрите на этот ответ, который показывает, как сохранить byte[] в SQL Server. Save byte[] into a SQL Server database from C#

Затем проверьте свой метод сохранения, чтобы убедиться, что он может правильно обрабатывать byte[].

Смежные вопросы