|
v7: Загрузка файла на сайт методом POST | ☑ | ||
---|---|---|---|---|
0
Gamover
11.09.13
✎
13:00
|
Подскажите пожалуйста... пытаюсь загрузить файл на сервер, в параметр userfile, но пока безрезультатно. Суть файла очень проста... через разделитель Лиц.счет, Адрес, дата, долг.
Процедура Сформировать() //Загружаем внешнюю компоненту для вызова методов отправки файла Если ЗагрузитьВнешнююКомпоненту("C://Temp/" + "v7plus.dll") <> 1 Тогда Предупреждение("Компонента v7plus.dll не найдена!"); Возврат; Конецесли; ФайлДанных = "dolg3.txt"; //Имя передаваемого файла ПутьКФайлуДанных ="C:\temp\dolg3.txt" ; //Полный путь к передаваемому файлу HTTP = СоздатьОбъект("Addin.V7HttpReader"); АдресСайта="http://www.izhdomofon.ru?userfile="+ ФайлДанных ; Ответ = ""; //В данную переменную получим ответ обработки нашего запроса с сайта Попытка HTTP.УстановитьЗаголовокЗапроса("Content-Disposition","form-data"); //Это означает что будет осуществляться передача файла HTTP.УстановитьЗаголовокЗапроса("Content-Type","application/x-txt"); //тип передаваемого файла HTTP.УстановитьЗаголовокЗапроса("MAX_FILE_SIZE","1000"); //Максимальный размер файла ( но не более чем web сервер может принять) HTTP.УстановитьЗаголовокЗапроса("userfile",ФайлДанных); //Имя файла HTTP.ОтправитьДляОбработки(АдресСайта, ПутьКФайлуДанных, 1, Ответ, 2); //Сама команда отправки файла Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры Компонента V7Plus : Ошибка исполнения HTTP запроса, код - 405 Ошибка при выполнении метода объекта компоненты C:\Temp\v7plus.dll |
|||
1
Gamover
11.09.13
✎
14:59
|
ап
|
|||
2
Scanvir
11.09.13
✎
15:02
|
Попробуй разобраться через WinHttpRequest
мой кусок кода рабочий: WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"utf-8"); WinHttp.SetTimeouts(0, 0, 0, 0); WinHttp.Open("POST","http://w-kv-kraf2o-100/cgi-bin/insert_1c_global.cgi",1); WinHttp.SetRequestHeader("Accept-Language", "ru"); WinHttp.SetRequestHeader("Accept-Charset", "utf-8"); WinHttp.setRequestHeader("Content-Language", "ru"); WinHttp.setRequestHeader("Content-Charset", "utf-8"); WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8"); ПараметрыПОСТ = "data=" + ДатаСКЛ(НачДата) + "&tz=" + Список + "&first=" + Первый; WinHttp.Send(ПараметрыПОСТ); |
|||
3
Gamover
11.09.13
✎
23:43
|
Имяфайла ="C:\temp\dolg3.txt"
Попытка пОбъект=СоздатьОбъект("Msxml2.XMLHTTP"); пОбъект.Open("post","http://www.izhdomofon.ru/script/upload.php",0); пОбъект.SetRequestHeader("Accept-Charset", "utf-8"); ПараметрыПОСТ = "userfile=" + ИмяФайла; пОбъект.Send(ПараметрыПОСТ); Message(пОбъект.status); Message(пОбъект.statustext); Message(пОбъект.readyState); Исключение Сообщить("Не получилось (("); Message(пОбъект.status); Message(пОбъект.statustext); Message(пОбъект.readyState); Message(пОбъект.ResponseText); КонецПопытки; Возвращает 200 OK 4 А толку 0... данные на сервере не обновляются. |
|||
4
France
12.09.13
✎
00:00
|
(0) Попробуй насладиться жизнью использовав wget
|
|||
5
Scanvir
12.09.13
✎
10:42
|
босюсь что вот тут:
ПараметрыПОСТ = "userfile=" + ИмяФайла; методом пост передастся название файла а не файл а что за файл? если текст то может передавать не файл а его содержимое? |
|||
6
Scanvir
12.09.13
✎
10:55
|
я у себя передаю текстом строку размером в 600 кб и сервер хавает...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |