Авто определение Content-Type для передаваемого файла по HTTP

1. TheOldGuard 12 10.06.22 10:25 Сейчас в теме
Всем форумчанам большой привет!

Решаю вопрос того, что когда формирую multipart/form-data у меня передаются разные файлы прикрепленные к документу (РаботаСФайлами позволяет мне получить всю информацию по файлу включая расширение) для них соответственно разный Content-Type MIME.
Нашел реализацию на C#, где создали класс где через case получаем значение соответствия.

По идее также могу создать константу с типом хранилище значения и положить туда соответствие, но может есть и более правильное решение?

Или также есть windows методы: GetMimeMapping или OpenSubKey и есть ли аналоги в 1С ?
По теме из базы знаний
Найденные решения
2. TheOldGuard 12 10.06.22 13:15 Сейчас в теме
Скорее всего буду использовать реализацию из https://infostart.ru/public/720570/.
Только вместо того, чтобы каждый раз инициализировать соответствие из модуля объекта создам РС, где измерением задам Ключ, а ресурсом Значение.
Один раз проинициализирую и буду обращаться к РС для получения значения по ключу.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TheOldGuard 12 10.06.22 13:15 Сейчас в теме
Скорее всего буду использовать реализацию из https://infostart.ru/public/720570/.
Только вместо того, чтобы каждый раз инициализировать соответствие из модуля объекта создам РС, где измерением задам Ключ, а ресурсом Значение.
Один раз проинициализирую и буду обращаться к РС для получения значения по ключу.
3. zeltyr 576 14.06.22 08:35 Сейчас в теме
Я использовал похожий принцип в своих выгрузках, но чутка оптимизировал.

Процедура ЗаполнитьСоответствиеТиповMIME()
	
	Если мСоответствиеТиповMIME = Неопределено Тогда
		мСоответствиеТиповMIME = Новый Соответствие;
		мСоответствиеТиповMIME.Вставить("123", "application/vnd.lotus-1-2-3");
		мСоответствиеТиповMIME.Вставить("3ds", "image/x-3ds");
		мСоответствиеТиповMIME.Вставить("669", "audio/x-mod");
	КонецЕсли;
	
КонецПроцедуры
Показать


В таком случае инициализируется всё 1 раз при запуске. Это удобнее и быстрее, чем городить для этого выделенный регистр и дёргать его при каждом старте интеграции.

Была ещё статья, где создавали целый буфер данных по похожему принципу, но я с наскоку не нашёл.
4. TheOldGuard 12 22.06.22 16:36 Сейчас в теме
По итогу инициализирую в модуле повторного использования (https://its.1c.ru/db/v8std/content/724/hdoc).
Не пришлось городить РС и костыли по инициализации модулей)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот