Передать файл на HTTP сервер

1. Dnki 4 17.04.17 15:57 Сейчас в теме
Хочу передать файл на http-сервер.
Прошел подключение. И заклинило меня на отправке файла. Помогите, ибо делаю впервой, а времени убил уже часы.
Пишу:
АшТТП_Ответ = Соединение.Записать(Новый HTTPЗапрос(ТекстЗапроса, Заголовки));
где "ТекстЗапроса" содержит параметры для указания имени на сервере (для Битрикса делаю).

И не могу понять простого: а где в параметрах указать имя файла на диске?
Пожалуйста, прошу:
* не приводите ответы с цитатами синтаксиса "HTTPЗапрос", "Записать()", "ОтправитьДляОбработки()". Я все это часы перечитывал. Просто напишите строку.
* не знаю фраз "а в типовой версии NNN все есть...". Я не в типовой.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user735737 17.04.17 16:08 Сейчас в теме
Имя файла содержится в URL запроса к серверу.
Через какой файл Битрикса вы записываете файл?
3. Dnki 4 17.04.17 16:55 Сейчас в теме
УРЛ выглядит так: "sait.by/bitrix/admin/1c_exchange.php?&filename=import.xml"
разумеется "import.xml" это имя получит сервер, под таким его запишет.
4. maksimov.andrey 18 17.04.17 17:04 Сейчас в теме
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Content-Type", "text/xml;charset=UTF-8");
	
	HTTPЗапрос = Новый HTTPЗапрос(Адрес, Заголовки);
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаССодержимымФайла, "UTF-8");
	HTTPСоединение = Новый HTTPСоединение(Сервер,,ИмяПользователя, Пароль,,, Новый ЗащищенноеСоединениеOpenSSL);
	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
5. Dnki 4 17.04.17 17:35 Сейчас в теме
(4) Спасибо.
СтрокаССодержимымФайла
Вот это хочется уточнить.
"Тело запроса" - это и есть содержимое передаваемого файла?
Мне его прочитать в строковую переменную? Или Двоичные данные?
У меня файл 10-30 Мб.

Попутно возникает и второй вопрос: каково отличие метода ОтправитьДляОбработки() (он часто встречается в примерах) от Записать()?.
7. maksimov.andrey 18 17.04.17 17:53 Сейчас в теме
(5)
Попутно возникает и второй вопрос: каково отличие метода ОтправитьДляОбработки() (он часто встречается в примерах) от Записать()?.

различные методы: в первом случае POST, во втором - PUT
8. Dnki 4 17.04.17 18:11 Сейчас в теме
(4)
HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос)

Я встречал такое написание:
Соединение.ОтправитьДляОбработки(имяФайлОтправки, "addComment.php", имяВыходногоФайла, Заголовки);

Можно ли предположить, что "имяФайлОтправки", это строка с "D:\МойФайл/xml" ?
6. maksimov.andrey 18 17.04.17 17:49 Сейчас в теме
Я передаю XML-файл - поэтому использую УстановитьТелоИзСтроки. В Вашем случае, наверное стоит использовать HTTPЗапрос.УстановитьТелоИзДвоичныхДанных
9. Dnki 4 17.04.17 22:04 Сейчас в теме
Вопрос решен:
	АшТТП_Запрос.УстановитьИмяФайлаТела(ИмяФайлОтправки);
	АшТТП_Ответ = Соединение.ОтправитьДляОбработки(АшТТП_Запрос);
Оставьте свое сообщение

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