В рамках моей задачи требовалось отправлять из 1С на сайт прайс в формате XLS, это общий пример для понимания. Поправить и сделать правильно могут 1Сники)
Код php стандартный, ничего в нем не выдумывал. Аутентификацию добавите сами.
// Задаем путь к файлу, который будет отправлен ИмяФайлаОтправки = "\\10.0.0.108\tmp\price.xls"; // Создаем объект для двоичных данных на основе файла ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаОтправки); // Создаем соединение с сервером Соединение = Новый HTTPСоединение("dev.vlytkin.ru", 443,,,,,Новый ЗащищенноеСоединениеOpenSSL()); // Создаем HTTP запрос HTTPЗапрос = Новый HTTPЗапрос("/opt/upload.php"); // Параметры для отправки файла ИмяПараметра = "file"; ИмяФайла = "tmp.xls"; // Генерируем уникальный разделитель для multipart/form-data Разделитель = СтрЗаменить(Новый УникальныйИдентификатор(), "-", ""); // Создаем поток для формирования тела запроса Тело = Новый ПотокВПамяти(); ЗаписьДанных = Новый ЗаписьДанных(Тело, , , Символы.ВК + Символы.ПС, ""); // Начинаем формировать тело запроса ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель); ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=" + ИмяПараметра + "; filename=" + ИмяФайла); ЗаписьДанных.ЗаписатьСтроку("Content-Type: application/vnd.ms-excel"); ЗаписьДанных.ЗаписатьСтроку(""); // Пустая строка для дополнительного переноса // Записываем двоичные данные файла ЗаписьДанных.Записать(ДвоичныеДанные); ЗаписьДанных.ЗаписатьСтроку(""); // Пустая строка для переноса // Завершаем тело запроса ЗаписьДанных.ЗаписатьСтроку("--" + Разделитель + "--"); ЗаписьДанных.Закрыть(); // Получаем тело запроса в виде двоичных данных ДанныеТела = Тело.ЗакрытьИПолучитьДвоичныеДанные(); // Устанавливаем тело запроса HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ДанныеТела); // Устанавливаем заголовки запроса HTTPЗапрос.Заголовки.Вставить("Content-Length", XMLСтрока(ДанныеТела.Размер())); HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Разделитель); // Отправляем запрос и получаем ответ ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);