Home > 1C > 1С V8 + рhp. Загрузка файлов [upload] на web-сервер метод POST

1С V8 + рhp. Загрузка файлов [upload] на web-сервер метод POST

Декабрь 29th, 2008

Понадобилось написать обработку с помощью которой была бы возможность загружать некоторые файла на web-сервер. Оптимальным вариантом оказалась загрузка через http. Обнаружил, что в 1C v8 есть интересные возможности для работы с http, а именно HTTPСоединение. Описание из стандарного хелпа оказалось очень скудным, да и примеров хелпописатели подкинуть забыли. В глобальной сети и умных книгах по 1С, конкретных примеров обнаружить не удалось. Пришлось снова разбераться самому…

простой php скрипт для загрузки файлов:

if($_FILES['userfile']['tmp_name'] != «»)
{
copy($_FILES['userfile']['tmp_name'], $_FILES['userfile']['name']);
}

код 1с для отправки файла через POST:

//Создаем Файл для отправки
ИмяФайлаHTML = КаталогВременныхФайлов() + «My1cV8bNdr»;
ФайлHTML = Новый ЗаписьТекста(ИмяФайлаHTML, КодировкаТекста.ANSI);
ФайлHTML.ЗаписатьСтроку(«—My1cV8bNdr»);
ФайлHTML.ЗаписатьСтроку(«content-disposition: form-data; name=»»userfile»»; filename=»»test.htm»»»);
ФайлHTML.ЗаписатьСтроку(«Content-Type: text/html»);
ФайлHTML.ЗаписатьСтроку(«»);
ФайлHTML.ЗаписатьСтроку(«Дальше вставляем html код.»);
ФайлHTML.ЗаписатьСтроку(«—My1cV8bNdr—»);
ФайлHTML.Закрыть();

// Если необходимо использовать прокси
ПроксиСервер = Новый ИнтернетПрокси();
ПроксиСервер.Сервер(«адрес прокси»);
ПроксиСервер.Порт(«порт прокси»);
ПроксиСервер.Пользователь = «пользователь прокси»;
ПроксиСервер.Пароль = «пароль прокси»;

// Формируем заголовок для запроса
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить(«Content-Type», «multipart/form-data; boundary=My1cV8bNdr»);

// Устанавливаем соединение и отпровляем запрос
HTTP = Новый HTTPСоединение(«сервер куда соединяемся», , , , ПроксиСервер);
HTTP.ОтправитьДляОбработки(ИмяФайлаHTML, «/upload.php», КаталогВременныхФайлов() + «result.htm», ЗаголовокHTTP);
HTTP = Неопределено;

После выполнения кода 1С, на web сервере в директории где лежит скрипт должен появится файл test.htm.

1C , , , , , , ,

  1. No comments yet.
  1. No trackbacks yet.
Перед отправкой формы: