Имя: Пароль:
1C
1С v8
Получение файла. HTTP-сервис.
,
0 12040
 
31.03.17
00:01
Добрый день.
1С:Предприятие 8.3 (8.3.9.1850)
Документооборот 8 КОРП, редакция 1.4 (1.4.1.9)
Через HTTP-сервис передается файл.

Нужно положить переданный файл в Документооборот. Как его расшифровать из полученных данных?
ТелоСтрока = Запрос.ПолучитьТелоКакСтроку();
В пер-й ТелоСтрока сейчас:
"Content-Disposition: form-data; name="File1";filename = "screen1.png"
Content-Type: application/octet-stream
Content-Transfer-Encoding:binary"
Далее закодированные данные
1 France
 
31.03.17
00:04
далее закодированный ответ..
2 Юрий Лазаренко
 
31.03.17
00:15
ДвоичныеДанные
3 oleg_km
 
31.03.17
10:17
(2) Далее или записать в файл, или создать картинку или сохранить в ХранилищеЗначений
4 12040
 
31.03.17
11:41
Тогда так:
ДвоичныеДанные = Запрос.получитьТелоКакДвоичныеДанные();
А надо ли отделять файл от параметров? У меня же не только файл принимается.
Если надо, то не понимаю, как это сделать.
Что-то такое: получаю как строку-> вычленяю файл-> преобразую в ДвоичныеДанные-> записсываю в ХранилщеЗначения?
5 Лефмихалыч
 
31.03.17
12:11
(4) получитьТелоКакДвоичныеДанные() возвращает тебе только файл
6 12040
 
31.03.17
15:03
(5) Спасибо.

ДвоичныеДанные = Запрос.получитьТелоКакДвоичныеДанные();
ХЗ = Новый ХранилищеЗначения(ДвоичныеДанные);

Как теперь создать элемент справочника Файлы, чтобы он брал отсюда файл?
7 12040
 
31.03.17
18:46
Точно ли получитьТелоКакДвоичныеДанные() возвращает только файл?
Сделал следующее:
ДвоичныеДанные = Запрос.получитьТелоКакДвоичныеДанные();
    ДвоичныеДанные.Записать("C:\1CBaseEAD_Files\textfile.txt");
В итоге в записанном файле вижу весь запрос, а не только "PROBA_PERA".

--1BEF0A57BE110FD467A
Content-Disposition: form-data; name="usr"

Иванов Иван Иванович
--1BEF0A57BE110FD467A
Content-Disposition: form-data; name="pwd"

Password1
Content-Disposition: form-data; name="File1"; filename="1SHTTP.txt"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

PROBA_PERA
--1BEF0A57BE110FD467A--
8 12040
 
31.03.17
19:59
Когда передал в запросе только файл, тогда нормально файл создался (не обяз. текстовый). Остается вопрос, как вычленить файл из "большого" запроса. Или можно сделать вообще как-то иначе?
9 oleg_km
 
31.03.17
20:34
(8) Я пользую дотНЕТ по методу Сергея Смирнова. Но многие считают, что это очень сложно
10 12040
 
31.03.17
21:35
(9) Можно ссылочку?
11 Fragster
 
гуру
31.03.17
21:58
на самом деле непонятно, почему 1с не сделала оберток для мультипарта, хотя бы в составе БСП
12 oleg_km
 
31.03.17
23:18
(11) Когда вышла 1С 8.0 и когда первая БСП? Вот тогда и добавят объект для работы с HTTP. А на дотнете уже есть.
13 Сергиус
 
01.04.17
00:27
(0)А если попробовать с помощью WinHttp.WinHttpRequest.5.1 получить?
14 oleg_km
 
01.04.17
08:20
А там разве есть парсер мультипартов?
15 Serginio1
 
01.04.17
09:27
16 Serginio1
 
01.04.17
09:56
Если нужен парсер то здесь
https://github.com/Vodurden/Http-Multipart-Data-Parser
(14) Привет! Решил проблему парсера?
17 oleg_km
 
01.04.17
10:11
(16) Да, там строчку надо подправить. Я им на гит написал где и что нужно исправить
18 Serginio1
 
01.04.17
11:36
Да открытый код это хорошо
19 Fragster
 
гуру
01.04.17
12:01
смысл подключать додиез ради того, чтобы в него скопипастить также отсутствующий встроенный парсер мультипарт? можно и на 1се это же сделать, и на инфостарте есть готовое...
20 Serginio1
 
01.04.17
12:05
(19) Смысл использовать еще кучу возможностей. Поверь.
Это расширение возможностей 1С. Без кучи костылей.
21 Serginio1
 
01.04.17
12:07
Опять же это не додиез. Это .Net.
Мы используем готовые сборки, а они на CIL.
При этом подключается среда исполнения CLR.
Никакого до диеза нет.
22 Fragster
 
гуру
01.04.17
12:19
(20) хз, "без кучи костылей" я подключаю по http, без использования подключаемых библиотек. чтобы не иметь себе голову с безопасными режимами, кроссплатформенностью, мультибитностью и прочим.
23 Serginio1
 
01.04.17
12:52
(22) А ты на линуксе? Я могу сделать и для него.
Суть то в том, что нужно разбираться с форматами и прочими вещами. А так взял готовое решение и глолова не болит, что и как в текст подставить.
24 Неверный Параметр И
 
01.04.17
16:55
(20) Судя по всему при поиске новой работы ты хочешь быть не программистом, а продажником. У человека конкретный вопрос, а ты ему про возможности борождения просторов космоса...
25 Serginio1
 
01.04.17
19:10
(24) Я и дал конкретный ответ в (15) и (16).

А 20 это про (19). Читай пожалуйста внимательнее. И не бросайся словами.
26 oleg_km
 
01.04.17
20:24
(19) Мне не надо ничего копипастить - просто подключил сборку и пользуюсь. Как в дельфях, как остальном мире программирования. Собственно как обработку в 1С. Почему нужно (ждать у моря погоды) ждать когда 1С разродилась на А - запилила HHTP-сервисы, а потом еще лет 5 ждать когда же она скажет Б - сделает нормальные объекты по обработке запросов и ответов?
27 Dunemaster
 
02.04.17
00:03
28 oleg_km
 
02.04.17
10:01
(27) Пилите, Шура, пилите.
29 Serginio1
 
02.04.17
11:15
30 lock19
 
02.04.17
12:13
(21) Ну ты успокоил.
31 Неверный Параметр И
 
02.04.17
19:06
(25) Вот, @Sergino1, учись продаванской наглости: Как предложить фирме 1С свою технологию?
А то так и будешь до пенсии своим Ъ потрясать.
32 Serginio1
 
02.04.17
20:02
(31) Я понял, что это бесполезно. Поэтому и хочу уйти в .Net,
раз это  не нужно ни 1С ни бОльшему количеству программистов 1С.
Основная теорема систематики: Новые системы плодят новые проблемы.