|
|
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Есть база MSSQL данные в которую заносятся при помощи MsAccess. Картинки в ней лежат в полях типа Image. необходимо вывести картинку в браузер. Проблема в том что кроме картинки в поле лежит левый заголовок (насколько я понимаю заголовок OLE объекта) а уже потом картинка в "сыром виде". Картинка судя по всему в bmp но самого заголовка bmp - "BM80" в теле нет. Как отделить олезаголовок от данных ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2006, 18:26:38 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Судя по различным ланным из инета, в большинстве случаев люди просто отрезают N байт от начала, но я так и не нашел сколько это N байт. Везде по разному, на php.net 78 вроде кто-то 57 и т.д. Неужели никто с этим не сталкивался ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 13:20:15 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
У меня в работе используется MSSQL2k и иногда используются поля типа image,но дабы особо не заморачиться и не нагружать базу я сначала сжимаю картинку или файл в рар архив, а уже потом кладу в базу. А если по сушетсву, то: у меня в поле image нет OLE данных, есть только текст файла. Таким образом я просто сохраняю содержимое поля в файл. P.S. сейчас ещё попробую в базу совать просто картинку (без архива). P.P.S. Мне кажется, что MSSQL сам при добавлении изображения в поле image ни чего не дописывает. Может быть стоит посмотреть в сторону того каким образом Вы заполняете поле image. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 17:17:35 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
кхм, я вроде написал, данные заносятся из Access ну тот который в оффис входит. Так уж сложилось исторически и ничего с этим не поделаешь. Если бы у меня просто хранилась картинка никаких бы проблем не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 17:25:56 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
На сколько реально перевтянуть данные в том формате, как предложил Robert Tappan Moris ? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 17:46:51 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
ок, да простят меня модераторы раздела, я приведу пример кода на VBA для записи файла в поле image. дабы не приводить вагон кода опишу переменные: FldToAdd - название поля, в которое нужно встаить картинку FileToAdd - полный путь к файлу, который нужно добавить rst - открытый набор записей, в который нужно вставить картинку, он должен стоять на нужной записи. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 17:47:39 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
P.S. забыл добавить: если нужно могу скинуть работчий пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 17:48:50 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Robert Tappan MorisУ меня в работе используется MSSQL2k и иногда используются поля типа image,но дабы особо не заморачиться и не нагружать базу я сначала сжимаю картинку или файл в рар архив, а уже потом кладу в базу.А смысл в этом, извините, какой? Нагружать сервер распаковкой картинки при каждом её выводе? Экономия на спичках? Юзайте JPG или PNG, если вам объёмы свободного места критичны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 19:43:05 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Смысл в том, что MSSQL не используется для web'а, эта бд находится во внутренней сетке предприятия, и объемы достаточно критичны стали когда бд разрослась на 20Гб, т.к. не только картинки хранятся в бд, вместе с заказом хранятся трехмерная модель и сканы документов и факсов. К тому же распаковка происходит не на серваке, а у клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 20:14:40 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Robert Tappan MorisК тому же распаковка происходит не на серваке, а у клиента.В любом случае - это издевательство над клиентом, когда для просмотра стандартного для браузера документа (ведь мы тут приложения для вэб рассматриваем, не так ли?) приходится ещё и карячиться с распаковкой. И это только потому, что кто-то предпочёл хранить данные в raw-формате в виде BMP, вместо того чтобы юзать тот же JPG или PNG. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 20:57:42 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Я указал, что в данном случае я веду речь не об web'e . Но сути в рамках данной темы это не меняет, у тредстартера проблема с OLE заголовками в полях image, я имею некоторый (возможно не самый богатый) опыт работы с image-полями предлагаю обратить внимание на механизм сохранения данных, вместо того, чтобы мучаться с этими заголовками при извлечении данных. P.S. ещё раз хочу подчеркнуть то, что мои предыдущие сообщения в это теме написаны с точки зрения программиста VB-MSSQL, и не имеют отношение к программированию для web'а. P.P.S. для web'a лично я не храню картинки в бд: или отдельная папочка, а пути к картинкам в бд, или отдельный поддомен, а пути - там же (в бд). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2006, 21:42:05 |
|
||
|
(PHP) MSSQL - Image убрать OLE данные.
|
|||
|---|---|---|---|
|
#18+
Даннык заносятся именно таким образом, из существующей клиенской программы и эта система меняется не будет. Естественно проще было бы изменить ее но такова ситуация. Решить вопрос можно только бытащив картинку из оле объекта, пережав ее из bmp в jpg и отдав браузеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2006, 12:35:29 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33690040&tid=1476287]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 460ms |

| 0 / 0 |
