Качайте обработку. Все должно быть понятно.
Принцип следующий:
Двоичные данные из макета кодируются в строку Base64. Затем кодируются обратно в формат понятный ADODB.Stream, с помощью которого и сохраняются на диск.
Удаление файла происходит средствами FileSystemObject.
Необходимые условия:
- Браузер только Interrnet Explorer
- Адрес веб сервера необходимо добавить в список надежных узлов
- В параметрах безопасности надежных узлов разрешить «Доступ к источникам данных за пределами домена/Access data sources across domains» и «Использование элементов ActiveX, не помеченных как безопасные/Initialize and script ActiveX not marked as safe«
- Согласиться, если браузер предложит установить компонент «Microsoft Script Control»
Скачивая файл, Вы подтверждаете, что согласны получать информационные сообщения об этой программе.
Размер: 8.08 kb
Доступ: Пользователи
Поставьте плюс, если вы рекомендуете данную разработку к использованию.
См. также:
Мои разработки
Мои статьи
Отблагодарить меня:
Хорошо, но допущения уж слишком сильные 🙂
(1) Согласен. Возможно кто-то пойдет на такие жертвы. Для облегчения жизни можно сварганить reg файл с настройками.
Очень интересная реализация, может у вас есть обработка по обратной загрузке файла с клиента на сервер?
Столкнулись с проблемой, из-за которой не можем использовать стандартное расширение работы с файлами…
#Если НЕ ВебКлиент тогда
ФайлЗагр = Новый Файл(Файл);
Если ФайлЗагр.Существует() = Ложь Тогда
ТекстСообщения = НСтр(«ru = ‘Файла %Файл% не существует!'»);
ТекстСообщения = СтрЗаменить(ТекстСообщения, «%Файл%», Файл);
УправлениеНебольшойФирмойСервер.СообщитьОбОшибке(, ТекстСообщения);
Возврат Неопределено;
КонецЕсли;
#КонецЕсли
ПотокЧтения = Новый ТекстовыйДокумент();
Попытка
Если Объект.Кодировка = «DOS» Тогда
Кодир = КодировкаТекста.OEM;
Иначе
Кодир = КодировкаТекста.ANSI;
Конецесли;
ПотокЧтения.Прочитать(Файл, Кодир);
Исключение
ТекстСообщения = НСтр(«ru = ‘Файл не прочитан.'»);
УправлениеНебольшойФирмойСервер.СообщитьОбОшибке(, ТекстСообщения);
Возврат Неопределено;
КонецПопытки;
Если ПотокЧтения.КоличествоСтрок() < 1 Тогда
ТекстСообщения = НСтр(«ru = ‘В файл нет данных!'»);
УправлениеНебольшойФирмойСервер.СообщитьОбОшибке(, ТекстСообщения);
Возврат Неопределено;
КонецЕсли;
Если СокрЛП(ПотокЧтения.ПолучитьСтроку(1)) <> «1CClientBankExchange» Тогда
ТекстСообщения = НСтр(«ru = ‘Указанный файл не является файлом обмена или неверно указана кодировка!'»);
УправлениеНебольшойФирмойСервер.СообщитьОбОшибке(, ТекстСообщения);
Возврат Неопределено;
КонецЕсли;
Возврат ПотокЧтения.ПолучитьТекст();
платформу поновее, и закомментить код. у меня работает..