Отправка файла методом POST в объекте WinHttpRequest из 1C

 

Встроенный объект Windows — WinHttpRequest предоставляет достаточно удобную возможность взаимодействовать с сетью по протоколу HTTP.

В Интернете можно немало материалов рассказывающих о том, как использовать данный объект в 1С. Но вот материалов, рассказывающих о том, как с помощью этого объекта отправить на сервер файл — не так много, этот-то пробел и призвана восполнить данная статья.

Начнем с серверной части. У себя на локальном сервере я создал файл с названием «file.php» и вот таки содержимым:

Единственное, что делает этот скрипт, это пытается вывести файл переданный ему в параметре «data».

Теперь рассмотрим код на стороне 1С:

Код прост и понятен, но все же кое-что пояснить нужно.

Параметр «Boundary» — это просто разделить он может быть практически любым, главное, чтобы не встречался в файле, подробнее можно прочесть тут.

Формат запроса (параметр «Зп») строг и с ним нужно быть внимательнее.

Как видите, ничего сверхсложного нет, но на мой взгляд, отправка файла стандартными средствами несколько проще.

На этом все, надеюсь данная статья кому-то помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (Пока оценок нет)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. MuxauJl

    Возможно ли передать помимо файла ещё и какие-либо параметры. Можете привести пример. Заранее спасибо.

  2. Александр

    Здравствуйте. Также интересует вопрос по совместной передачи параметров и файла

  3. Дмитрий

    В 9 строке пропущен РазделительСтрок после Boundary
    Зп = «—» + Boundary + РазделительСтрок + «

  4. Андрей Иванов

    В строке 17 надо внести изменения:
    Было: «СтрДлина(Зп)»
    Стало: «XMLСтрока(СтрДлина(Зп))»

    Причина: Для данных больше килобайта неявное пребразование размера из числа в строку будет с дополнительным символом разделения на триады, что некорректно будет восприниматься сервером. «XMLСтрока» решает эту проблему.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: