Имя: Пароль:
1C
1С v8
Как получить из двоичных данных расширение файла?
,
0 Feofan
 
21.12.11
15:34
Есть двоичные данные, в них хранится картинка - файл .jpg или .png
Я хочу иметь возможность выгружать эту картинку из базы - с соответствующим разрешением, а не тупо все .jpg например.
Не соображу как вытащить расширение из двоичных данных.
Меж тем платформа умеет это делать - если я отображаю картинку на форме (с помощью ПолучитьНавигационнуюСсылку), нажимаю на ней правой кнопкой и выбираю "Сохранить как" - открывается диалог сохранения с установленным правильным видом файла - .jpg или .png
1 Asmody
 
21.12.11
15:35
см. Картинка.Формат
2 Sk0rp
 
21.12.11
15:40
(0) Первые 3-4 байта байта файла это, обычно, его сигнатура. Посмотри какая она в png и какая в jpg.
3 Feofan
 
21.12.11
15:41
В смысле программно создать из двоичных данных картинку и получить ее формат? Вариант, спасибо.
А непосредственно из двоичных данных выходит что никак.
4 Feofan
 
21.12.11
15:42
(2) да, тоже вариант, хотя и не совсем универсальный.
Всем спасибо, я удовлетворен)
5 Живой Ископаемый
 
21.12.11
15:43
надо было когда грузил, сохранять где-то расширение... :)
6 Asmody
 
21.12.11
15:43
(3) а не факт, что в двоичных данных вообще картинка в таком случае
7 V_V_V
 
21.12.11
15:43
При размещении файла в хранилище сохраняй где-то его имя и не мучься...
8 Feofan
 
21.12.11
15:45
(5), (7) Добавлять метаданные для этих целей считаю моветон, можно и без них обойтись
9 V_V_V
 
21.12.11
15:46
(8) Бред. Глянь в типовые. Или БСП.
10 rs_trade
 
21.12.11
15:49
(8) а в чем моветон то? извращаться значит с заголовком файла это нормуль.
11 Deon
 
21.12.11
15:50
Шапочки!
12 Feofan
 
21.12.11
15:54
Типовые это пример для подражания? Не думаю.
В моем случае в справочнике около 100к элементов, я уж лучше кодом получу расширение.
13 Живой Ископаемый
 
21.12.11
15:55
безусловно, тем более справочник твой... как раз была бы типовая на поддержке, можно было бы еще подумать прежде чем добавлять
14 Deon
 
21.12.11
16:08
(12) А у тебя не может возникнуть ситуации, когда необходимо получить сразу много картинок? Всегда по одной?
15 Feofan
 
21.12.11
16:14
(14) Есть такая надобность, а что?
16 oleg_km
 
21.12.11
16:14
(12) и например в запросе тоже получишь? Тащить всю картинку с сервера, чтобы узнать ее расширение - вот это по-моему моветон
17 Feofan
 
21.12.11
16:18
(16) мне же надо выгрузить картинку на локальный комп - т.е. я в любом случае тащу ее всю с сервера
18 rs_trade
 
21.12.11
16:22
(12) ааа, ну если 100К записей, то конечно. еще одна колонка длинной 3 символа неприемлема.
19 Deon
 
21.12.11
16:31
(17) И когда тебе надо вытянуть много картинок, ты будешь анализировать каждый двоичный код? Не боишься, что потеря в скорости выполнения + вероятность неверно распознать расширение файла будет куда весомей, чем одна колонка в базе данных?

Кстати, никто не знает, есть ли смысл архивировать bmp-картинки перед сохранением в базу?
20 H A D G E H O G s
 
21.12.11
16:33
Хранить в Двоичных структуру, содержащуюю
1) Двоичные
2) Расширение
3) Прочее
21 H A D G E H O G s
 
21.12.11
16:35
(19) Не имеет.
deflate неплохо жмет сырой bmp на максимуме
22 Deon
 
21.12.11
16:38
(21) А передача с сервера клиенту тоже сжатая идет?
23 H A D G E H O G s
 
21.12.11
16:39
(22) Не проверял
24 H A D G E H O G s
 
21.12.11
16:40
Затесть!
25 Deon
 
21.12.11
17:37
(20) А штатные средства 1С так могут?
Ошибка? Это не ошибка, это системная функция.