Привязать изображение из базы данных SQL Server (поле изображения) к Ad Rotator

Я искал stackru для ответов, но не смог найти ничего, что могло бы мне помочь.

Я пытаюсь получить рекламный ротатор, который будет отображать изображения, хранящиеся в базе данных. Будет 5 разных объявлений для разных товаров. Продукты хранятся в cookie-файлах и будут отличаться после каждого заказа. Я знаю, что мне нужно извлечь двоичный файл из БД и преобразовать его в изображение. Это то, что я пробовал (пока тестирую только один продукт. Затем я могу использовать цикл foreach или что-то еще, сначала хочу получить правильную идею):

using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(strconn))
    {
        SqlCommand cmdSelect = new SqlCommand("select Image from Products where ProductID = '1'", con); 
        con.Open();
        byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
        string strfn = Convert.ToString(DateTime.Now.ToFileTime());
        FileStream fs = new FileStream(strfn,
        FileMode.CreateNew, FileAccess.Write);
        fs.Write(barrImg, 0, barrImg.Length);
        fs.Flush();
        fs.Close();
        Image IMG = Image.FromFile(strfn);
    }

Но этот код не работает. Я получаю сообщение об ошибке, говорящее

Error   1   'System.Web.UI.WebControls.Image' does not contain a definition for 'FromFile'  

Итак, у меня есть 2 вопроса: 1. Как правильно это сделать? 2. Как назначить правильные значения для поля ImageUrl в файле XML для Ad Rotator?

Спасибо заранее за любую помощь!

1 ответ

Вы можете попробовать этот способ, используя меньше строк кода, используя MemoryStream вместо File:

using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(strconn))
 {
        SqlCommand cmdSelect = new SqlCommand("select Image from Products where ProductID = '1'", con); 
        con.Open();
        byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();
        MemoryStream ms = new MemoryStream(barrImg);
        Image IMG = Image.FromStream(strfn);
  }
Другие вопросы по тегам