Форум: "Сети";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизПроблема с TidHTTP метод PUT Найти похожие ветки
← →
mr. Eof (2006-08-26 19:08) [0]Добрый день!
Подскажите пожалуйста в чем я ошибаюсь при работе с TidHTTP. Вот код:procedure TForm1.Button2Click(Sender: TObject);
var
FHTTP: TIdHTTP;
DestinationAddress: String;
SourceAddress: TStream;
begin
FHTTP:= TIdHTTP.Create(nil);
try
DestinationAddress:=Edit2.Text;
FHTTP.Head(DestinationAddress);
SourceAddress:= TFileStream.Create(Edit1.Text, fmCreate);
FHTTP.Put(DestinationAddress, SourceAddress);
SourceAddress.Free;
finally
FHTTP.Free;
end;
end;
При выполнении - выскакивает ошибка:
- 404 (Project ... raised exception class EIdHTTPProtocolException with message "http/1.1 404 not found") если файла назначения (куда) - нет
- 405 (Project ... raised exception class EIdHTTPProtocolException with message "http/1.1 405 Method not allowed") если файл есть.
Закачиваю файл к себе на локалхост.
Спасибо!
← →
Dmitrij_K (2006-08-26 19:24) [1]Метод Head выдает 404 если файл не существует
Метод Put не потдерживается (инди так написало). Включается на HTTP сервере
← →
mr. Eof (2006-08-26 19:36) [2]ээ.. Извините, я не понял.. А как же тогда закачать файл на сервер?
← →
Dmitrij_K (2006-08-26 19:40) [3]Сервер должен потдерживать метод Put (см. документацию сервера , как включить)
← →
Dmitrij_K (2006-08-26 19:43) [4]код у тебя левый. Зачем понадобилось слать head потом put? не логично
← →
mr. Eof (2006-08-26 19:51) [5]Так. Спасибо за замечание! Вычеркнул Head.
А Put - это какой-то специфический метод или стандартно он на всех серваках в Инете работает? Пишу программу, она должна будет заливать лог на сервак в Инете, так что возможно правильным будет использовать другой вариант (который бы поддерживали все серваки) закачивания файлов на сервер?
← →
Dmitrij_K (2006-08-26 19:57) [6]Все серваки потдекживать невозможно.
Самый простой путь написать на php скрипт, он будет принимать и сорхранять файл.
← →
Dmitrij_K (2006-08-26 19:59) [7]Отправка выглядит так
var a : TIdMultiPartFormDataStream;
begin
a := TIdMultiPartFormDataStream.Create;
a.AddFile("file1",FileName,"");
IdHTTP1.Post("http://127.0.0.1/test.php", a);
a.Free;
end;
← →
mr. Eof (2006-08-26 20:00) [8]блин... облом...
А если использовать не TidHTTP а другой для FTP, то таких проблем не будет?
Там везде можно будет 1й функцией залить файл?
← →
Ketmar © (2006-08-26 20:02) [9]плакалъ. орешек.
← →
Dmitrij_K (2006-08-26 20:09) [10]1й функцией обойтись никогда нельзя Ж)
использование ftp (file transfer protocol) логичней тк оно и существует для передачи файлов
← →
mr. Eof (2006-08-26 20:18) [11]о! очень хорошо! Спасибо!
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c