|
Отправка zip файла post запросом из 1С на сайт при помощи COMОбъект("MSXML2.XMLHTTP") | ☑ | ||
---|---|---|---|---|
0
dimm7310
07.02.19
✎
11:12
|
В данный момент для разных версий 1С (7.7 - 8.Х) написаны обработки выгрузки данных на сайт. Данные выгружаются в формате Json.
По всех версиях отправка производится: XMLHttp = Новый COMОбъект("MSXML2.XMLHTTP"); XMLHttp.Open("POST",АдресURL+ТипЗапроса+ПараметрыЗапроса,"false"); XMLHttp.SetRequestHeader("Content-Type", "application/json"); XMLHttp.Send(ТекстЗапроса); // json Встала задача отправлять zip файлы. Есть примеры отправки файлов этим же способом? |
|||
1
trad
07.02.19
✎
12:20
|
Адрес = "http://ptsv2.com";
Файл = "C:\1.zip"; Stream = СоздатьОбъект("ADODB.Stream"); Stream.open(); Stream.loadFromFile(Файл); Http = СоздатьОбъект("Msxml2.ServerXMLHTTP"); Http.open("POST", Адрес, 0); Http.setRequestHeader("Content-Type", "application/zip"); Http.send(Stream); Сообщить(Http.status); |
|||
2
trad
07.02.19
✎
12:35
|
вместо Msxml2.ServerXMLHTTP можно тот же Msxml2.XMLHTTP - без разницы
|
|||
3
dimm7310
07.02.19
✎
12:42
|
спасибо попробую
|
|||
4
dimm7310
07.02.19
✎
14:18
|
(1) Админ говорит, что ничего не получил, это точно рабочий код?
|
|||
5
trad
07.02.19
✎
14:52
|
Http.status ?
|
|||
6
trad
07.02.19
✎
15:15
|
(4) и ты уверен, что админ хочет получить файл по http, а не по ftp?
|
|||
7
dimm7310
07.02.19
✎
15:23
|
(5) 200
(6) уверен (речь шла о доработке Post запроса) |
|||
8
Сияющий в темноте
07.02.19
✎
15:25
|
Чтобы получили файл,нужно посылать данные формы,а в них уже файл,то есть добавить немного в заголовке и хвосте файла,а также не забыть,что у файла есть имя.
код,приведенный выше фигачит файл в данные post запроса,и его даже можно получить в переменной RawPostData. |
|||
9
trad
07.02.19
✎
15:42
|
такой код на сервере:
<?php print_r(stream_get_contents(fopen('php://input', 'r'))); ?> - показывает что код рабочий и в теле http-запроса есть те данные что отправлены клиентом |
|||
10
trad
07.02.19
✎
15:47
|
Любой http запрос это всего лишь некоторые заголовки и тело.
Кодом в (1) показано, как любой двоичный файл послать в тело запроса. А какими его снабдить при этом заголовками, это исключительно договоренность принимающей и отправляющей сторон. |
|||
11
Сияющий в темноте
07.02.19
✎
23:28
|
Есть существенная разница-получить файл или получить содержимое файла.
|
|||
12
France
08.02.19
✎
02:03
|
(11) а не проще вообще этим не заморачиваться?
|
|||
13
trad
08.02.19
✎
08:04
|
(11) конечно есть
Но, мне например, не очевидно, что на самом деле требуется по задаче |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |