|
|
|
новичок
      
участник
Last Login: 06.08.2007 0:25
Сообщ.: 6,
Visits: 24
|
|
| Можно ли поместить в DataList картинку из поля объекта OLE?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Можно, но это не так просто и, кроме того, хранить файлы в базе не очень хорошая мысль. Лучше хранить их в файловой системе, а в базе хранить только путь или имя файла. Чтобы вывести картинку из поля нужно чтобы в таблице было ключевое поле. Это необходимо так как мы не можем вывести html и картинку вместе. Картинку придется получать из отдельного файла. То есть создаем файл image.aspx который будет получать параметр id (через query string) и по этому параметру выдавать картинку в виде потока байтов. Примерный код image.aspx будет вылядеть так: <% Response.ContentType = "image/gif"; // Если выдаем gif файл // Получение картинки из базы int id = Int32.Parse(Request.QueryString["id"]); byte[] image; .... // Response.OutputStream.Write(image, 0, image.Length); %> При выводе DataList на месте где должна быть картинка тебе нужно сослаться на image.aspx передав ему id картинки. Для это можно или вручную вывести код вида <img src="image.aspx?id=5"> или воспользоваться контролом <asp:Image ... /> Теперь самое сложное - получение картинки из базы. Для этого берем за основу код из статьи базы знаний Microsoft How To Retrieve Bitmap from Access and Display It in Web Page. Суть метода в поиске начала картинки по его заголовку, делая отступ в 19 байтов из-за заголока OLE поля.
|
|
|
|
|
новичок
      
участник
Last Login: 06.08.2007 0:25
Сообщ.: 6,
Visits: 24
|
|
|
|
|