![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с TidHTTP метод PUT [WinXP]
mr. Eof © (2006-08-26 19:08:00)Добрый день!
Подскажите пожалуйста в чем я ошибаюсь при работе с 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') если файл есть.
Закачиваю файл к себе на локалхост.
Спасибо!
mr. Eof (2006-08-26 20:18:00) [1]о! очень хорошо! Спасибо!
Dmitrij_K (2006-08-26 20:09:00) [2]1й функцией обойтись никогда нельзя Ж)
использование ftp (file transfer protocol) логичней тк оно и существует для передачи файлов
Ketmar (2006-08-26 20:02:00) [3]плакалъ. орешек.
mr. Eof (2006-08-26 20:00:00) [4]блин... облом...
А если использовать не TidHTTP а другой для FTP, то таких проблем не будет?
Там везде можно будет 1й функцией залить файл?
Dmitrij_K (2006-08-26 19:59:00) [5]Отправка выглядит так
var a : TIdMultiPartFormDataStream;
begin
a := TIdMultiPartFormDataStream.Create;
a.AddFile('file1',FileName,'');
IdHTTP1.Post(' http://127.0.0.1/test.php', a);
a.Free;
end;
Dmitrij_K (2006-08-26 19:57:00) [6]Все серваки потдекживать невозможно.
Самый простой путь написать на php скрипт, он будет принимать и сорхранять файл.
mr. Eof (2006-08-26 19:51:00) [7]Так. Спасибо за замечание! Вычеркнул Head.
А Put - это какой-то специфический метод или стандартно он на всех серваках в Инете работает? Пишу программу, она должна будет заливать лог на сервак в Инете, так что возможно правильным будет использовать другой вариант (который бы поддерживали все серваки) закачивания файлов на сервер?
Dmitrij_K (2006-08-26 19:43:00) [8]код у тебя левый. Зачем понадобилось слать head потом put? не логично
Dmitrij_K (2006-08-26 19:40:00) [9]Сервер должен потдерживать метод Put (см. документацию сервера , как включить)
mr. Eof (2006-08-26 19:36:00) [10]ээ.. Извините, я не понял.. А как же тогда закачать файл на сервер?
Dmitrij_K (2006-08-26 19:24:00) [11]Метод Head выдает 404 если файл не существует
Метод Put не потдерживается (инди так написало). Включается на HTTP сервере