Nandini K M Ответов: 1

Мне нужно получить двоичные данные для изображения


На самом деле я загрузил изображение, а затем обрезал загруженное изображение по своему желанию с помощью Image resizer и imazen.crop.Теперь мне нужно сохранить обрезанное изображение в sql server.Поэтому мне нужны двоичные данные для того, чтобы обрезанное изображение было сохранено в базе данных.
Кто-нибудь может пожалуйста помочь мне.

Я могу получить двоичные данные для загруженного изображения.Код приведен ниже...
Итак, как теперь получить двоичные данные для обрезанного изображения?

Что я уже пробовал:

int length = FileUpload1.PostedFile.ContentLength;
//create a byte array to store the binary image data
 byte[] imgbyte = new byte[length];
 //store the currently selected file in memeory
  HttpPostedFile img = FileUpload1.PostedFile;
  //set the binary data
 img.InputStream.Read(imgbyte, 0, length);
 string sql = "Insert into Files(FileName,FileContent,Keyword)values('" + txtImage.Text + "', @FileContent ,'" + TextBox1.Text + "')";
 SqlCommand cmd = new SqlCommand(sql, con);
 cmd.Parameters.AddWithValue("@FileContent", SqlDbType.Image).Value = imgbyte;

F-ES Sitecore

Мы не знаем, что вы используете для обрезки изображения, однако проверьте документацию по этому компоненту. Google также "сохранить изображение на sql server", и вы также найдете полезный код.

Nandini K M

Я использовал Imazen.Crop.dll чтобы обрезать изображение, сэр.

1 Ответов

Рейтинг:
2

OriginalGriff

Начните с того, что никогда не делайте SQL таким образом! Никогда не объединяйте строки для построения SQL-команды. Это оставляет вас широко открытыми для случайной или преднамеренной атаки SQL-инъекции, которая может уничтожить всю вашу базу данных. Вместо этого используйте параметризованные запросы.

Фактическое преобразование довольно просто:

MemoryStream ms = new MemoryStream();
myImage.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp);
byte[] myImageData = ms.ToArray();


Nandini K M

Я попытался использовать поток памяти, сэр, но получил следующие ошибки:
Ошибка 106 "изображение" - это двусмысленная ссылка между " System.Web.UI.WebControls.Образ " и " система.Рисование.Изображение' D:\NANDHINI\PROJECT\Content основанное изображение\FaceAnnotation\ImageUpload.aspx. cs 34 12 D:\...\FaceAnnotation\
Ошибка 107 не может неявно преобразовать тип ' Imazen. Crop.CropImage ' to ' System.Web.UI.WebControls.Изображение' D:\NANDHINI\PROJECT\Content основанное изображение\FaceAnnotation\ImageUpload.aspx. cs 34 28 D:\...\FaceAnnotation\
Системная Ошибка 108'.Веб.Пользовательского интерфейса.WebControls.Изображение' не содержит определение для 'сохранить', а не метод расширения 'сохранить', принимающий первый аргумент типа 'System.Веб.Пользовательского интерфейса.WebControls.Изображение' может быть найден (пропущена директива using или ссылка на сборку?) D:\NANDHINI\PROJECT\Content основанное изображение\FaceAnnotation\ImageUpload.aspx. cs 36 20 D:\...\FaceAnnotation\