#0
by poyson
Собственно проблема в следующем... есть в конфигурации http-сервис. который генерит следующий текст html: </form> Этот код позволяет выбрать, загрузить и передать в 1с файл в теле запроса. В полученной html форме народ выбирает файл и нажимает кнопку отправить... Но проблема в следующем... Передача файлов и др. бинарной информации возможна только с применением кодирования "multipart/form-data" а это кодирование предполагает хранение заголовков запроса и файла единым текстом с использованием разделителя. Http сервисы типа Php разбирают такой текст без проблем - стандартными языковыми структурами. Мой вопрос - как это сделать в 1С?
#2
by poyson
Проблема в скупости работы 1с с бинарными данными... В ответе присутсвуют как текстовые разделители, так и бинарники... думаю ничего не выдет. придется отказаться от мысли реализовать загрузку прямо в 1с через вэб форму... очень жаль.
#6
by Fragster
не все так плохо. в принципе через текстовый документ можно реализовать для небольших (до нескольких мегабайт, возможно десятков) файлов нормальный разбор
#10
by Serginio1
Всегда можно использовать и с await нужно добавить Result. Например preview=HttpClient.GetByteArrayAsync(Данные.url).Result;
#13
by poyson
Проблема в общем как раз то в том, что в теле ответа есть и заголовки с элементами формы и их значениями и собственно бинарные данные ... Для начала надо отделить мух от котлет... И вот тут проявляются проблемы работы с двоичными данными... При чем тут "Convert.ToBase64String(preview)"?
#16
by poyson
Отрезать не проблема. Но во тут и начинаются проблемы работы с бинарниками... часть символов 1с не видет(видимо те, у котрых размеры и коды 0) и не знает... они теряются и в итге сохраненный результат просто не открывается... хотя размеры совпадают с исходниками 1 в 1.
#17
by poyson
проблема как раз в том, что в ответе присутствуют не только бинарки... после такого преобразования не получится убрать по разделителю из ответа секции с служебные секции
#20
by Serginio1
Тупо наьираешь. Умно выбираешь. Ему подходит multipartFormDataContent.Add using (var client = new HttpClient) { using (var multipartFormDataContent = new MultipartFormDataContent) { foreach (var keyValuePair in values) { }
#23
by poyson
Мне не надо добавлять в тело запроса бинарники... Это как раз у меня есть... Мне нужно их оттуда вытащить...
#28
by Serginio1
Ты можешь использовть динамическую обертку событий. Например по ссылке ессть событие на получение файлов
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Безвозмездная передача фотоаппарата госучреждению. Проводки???
- Передача параметра типа Дата в ADODB
- Ошибка при открытии файла через OpenTextFile
- Передача через Астрал заявление о ввозе товаров и уплате косвенных налогов
- Передача файла РИБ управляемое приложение
- Передача файла через веб-сервисы
- Документооборот Передача файла во внутренний документ через COM
- Передача товаров операция: передача товаров/материалов переработчику цена,сумма
В этой группе 1С
- Как добавить объекты на рабочий стол в 1с8.3?
- Не завершен переход на новую версию... Статус ошибка
- Кнопка Оплатить картой в РМК УТ 11.1
- как запретить вставку текста из буфера в поле ввода
- Конвертация данных из 1с7.7 в 1с8
- В 1С не работает буфер обмена со всеми таб. доками.
- Посчитать количество выходных дней между двумя датами
- Отсутствует отображение для типа '{http://v8.1c.ru..... Что это такое?
- Найти пятничного кота
- БП 3.0 Где хранится номер версии конфигурации
- Запутался с обходом метаданных
- Изучаю КД, помогите немного :)
- WinRar - как сделать дифференциальный бэкап
- v7: Ошибка: Номер за пределами значения!
- УТ 11 Форма списка ЧековККМ
- Как програмно удалить формат строк в табличном документе?
- Какие могут возникнуть проблемы при установке "1С-Отчетность"
- Права доступа
- v7: УТ 11 дополнительные реквизиты событие при изменении
- Как быть в ЗУП2 с нормой рабочего времени за полмесяца при расчете аванса.