Имя: Пароль:
1C
 
Как отправить файл на сервер через HTTP-соедиение?
0 dimoff
 
22.03.06
18:51
Как отправить файл на сервер через HTTP-соедиение,
попробовал


CODE  

ИнтернетСоединение = Новый HTTPСоединение(АдресСервера,,ПользовательСервера, ПарольСервера);
ИнтернетСоединение.ОтправитьДляОбработки(ПутьКФайлу, "index2.asp", ИмяВременногоФайла);




пишет 400 Bad request

Как написать request, чтобы он был гуд?
Заранее спасибо за помощь
1 smaharbA
 
22.03.06
19:42
POST но это через ОЛЕ
2 dimoff
 
22.03.06
20:38
Судя по всему проблема с четвертым параметром, то есть надо как-то указать, что он передает именно аттачмент, а не просто данные.
3 dimoff
 
23.03.06
11:01
Или подскажите какой-нибудь другой способ передачи файлов на сервер, аналогичный действию формы

<form action="index3.asp" method="post" enctype="multipart/form-data" name="form1">
<input name="filename" type="file" id="filename"><br/>
<input name="Submit" type="submit" value="Загрузить">
</form>
4 dimoff
 
23.03.06
11:22
вопрос-то простейший
5 Neco
 
23.03.06
11:25
Пример из книги Михайлова:

objIE = СоздатьОбъект("InternetExpiorer.Application");
objIE.Visible = 0;
objIE.Silent = 0;
objIE.Navigate("http://erpg.ru/fоrum/posting.php?mode=reply&t=34")
Пока objIE.readyState<4 Цикл // Ждем пока она загрузится
КонецЦикла;
objDoc = obj IE. Document;
objForm = objDoc.forms(0); // Получаем первую форму в документе
Попытка
// Заполняем поле формы "Имя пользователя"
objForm.elements("username").value = СокрЛП(Имя);
Исключение
КонецПопытки;
objForm.elements("subject").value = СокрЛП(Тема);
objForm.elements("message").value = СокрЛП(Описание);
objIE.Visible = 1;
Сообщить("HTML-форма форума заполнена. Для отправки сообщения необходимо
нажать кнопку Отправить в Internet Explorer.");

Хотя интересно как осуществить POST-запрос через HTTPСоединение
6 Neco
 
23.03.06
11:27
Гмм.. немного не то, вот для восьмерки:

objIE = Новый СОМОбъект("InternetExplorer.Application");
objIE.Visible = Ложь; // Отключаем видимость
objIE.Silent = Ложь;
objIE.Navigate("http://erpg.ru/forum/posting.php?mode=reply&t=34");
Сообщить("Идет загрузка страницы. Ждите...");
Пока objIE.readyState<4 Цикл // Ждем пока загрузится сраница
КонецЦикла;
objDoc = objIE.Document; // Получаем объект HTML-документ
objForm=objDoc.forms(0); // Получаем первую форму в документе
Попытка
// Заполняем поле формы "Имя пользователя"
objForm.elements("username").value = Имя;
Исключение
КонецПопытки;
objForm.elements("subject").value = Тема;
objForm.elements("message").value = Описание;
objForm.elements("post").click(); // Нажимаем на кнопку "Отправить"
Сообщить("Ваше сообщение отправлено на форум по адресу: " +
"http://erpg.ru/forum/viewtopic.php?t=34");
objIE.Quit(); // Закрываем приложение
objIE = Неопределено;
7 dimoff
 
23.03.06
11:29
Попробую прокатит ли то же самое с файлом
8 Колумбарий
 
23.03.06
11:33
2(7) Файл можно прочитать как текст, и этот текст присвоить свойству objDoc.body... наверное...
9 dimoff
 
23.03.06
11:46
objForm.elements("filename").value = ПутьКФайлу
не заполняет поле, если оно имеет тип файл
10 dimoff
 
23.03.06
12:17
Конец идеям?
11 smaharbA
 
23.03.06
12:34
Лажа это все...
Все можна отправить, тока счас возиться некогда
(9) Это не будет работать, еслиб это работало, то злоумышленники бы весь диск твой кочнулибы...
12 dimoff
 
23.03.06
12:46
(11) В чем информационность твоего сообщения? Неохота - заткнись и не пости
13 Neco
 
23.03.06
13:06
Можно файл скопировать с помощью: КопироватьФайл
14 dimoff
 
23.03.06
13:15
(13) Куда скопировать? С жесткого диска на удаленный сервер?
15 Колумбарий
 
23.03.06
13:23
2(14) А не получилось как я тебе говорил - создаем
ХмлДок = Новый COMОбъект("MSXML2.DOMDocument");, читаем в него файл, и потом говорим
   ХттпЗапрос = Новый COMОбъект("Msxml2.XMLHTTP");
     Урл        = ПолучитьТекУрл();
     ХттпЗапрос.open("POST",Урл,1);  
     ХттпЗапрос.send(ДокХМЛ);
?
16 Neco
 
23.03.06
13:28
(14) Синтакс-помошник:

Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
17 smaharbA
 
23.03.06
13:33
(12) Ты кого это послал, а ?
Информотивность его выше всех тут вместе собранных, думаю и тут присутствующий  Колумбарий может подтвердить, а если ты не знаешь возможностей ОС молчи в тряпочку...
Твоя ситуация в 2 строки (Колумбарий близок к истине был)