Имя: Пароль:
1C
1С v8
Не отправляется архив из 1С
0 dm87
 
11.04.19
10:56
Здравствуйте.

1С:Предприятие 8.3 (8.3.13.1644)
1С:Комплексная автоматизация 2 (2.4.6.189)

Почему не передаётся файл?

[code]
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
        
РазделительСтрок = Символ(10) + Символ(13);
        
ФайлСДанными = "prices.zip";
        
СтрокаBase64 = Base64Строка(Новый ДвоичныеДанные("\\000.000.0.00\shara\Exchange\" + ФайлСДанными)); // Вместо 000.000.0.00 в рабочем коде реальный IP-адрес рабочего сервера.
        
Запрос = РазделительСтрок + "--" + Boundary + "
            |Content-Disposition: form-data; name=""file""; filename=""" + ФайлСДанными + """
            |Content-Type: application/zip;" + РазделительСтрок + РазделительСтрок + "
            |" + СтрокаBase64 + РазделительСтрок + "
            |--" + Boundary + "--";
        
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Open("POST", "http://postman-echo.com/post";, 0);
WinHttp.SetRequestHeader("Content-Type","multipart/form-data; boundary=" + Boundary);
WinHttp.SetRequestHeader("Content-Length", СтрДлина(Запрос));
WinHttp.Send(Запрос);
        
Если WinHttp.Status = 200 Тогда
    Сообщить(WinHttp.ResponseText);
КонецЕсли;
[/code]

В результате получаю:

[code]
{"args":{},"data":{},"files":{},"form":{},"headers":{"x-forwarded-proto":"https","host":"postman-echo.com","content-length":"714","accept":"*/*","content-type":"multipart/form-data; boundary=602a0cc7e11a4c5787083c0d41bed542; Charset=UTF-8","user-agent":"Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)","x-forwarded-port":"80"},"json":null,"url":"https://postman-echo.com/post";}
[/code]

Как видим, массив "files" пустой. Почему?

Заранее спасибо.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший