![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день! Форумчане сайта! У меня к вам вопрос!
Я заливаю файл на Zalil.Ru, но при отправке возникает ошибка. Я искал в гугле, ни один метод не работает. Мой: Код:
var
FormData: TIdMultiPartFormDataStream;
link, Response: string;
Http: TIdHTTP;
begin
FormData := TIdMultiPartFormDataStream.Create;
try
FormData.AddFile('file', files.Text, ''); // Файл который надо залить
IdHTTP.HandleRedirects := True;
Response := idHTTP.Post('http://zalil.ru/', FormData);
link:=copy(Response,pos('<div align="center">',Response)+20,24);
zalil_url.Text:=link; // тут нечего объяснять
finally
FormData.Free;
Label3.Caption:='OK';
end;На этой строке у меня выдаёт ошибку: HTTP/1.1 500. Код:
link:=copy(Response,pos('<div align="center">',Response)+20,24);Что я написал не так? |
|
#2
|
|||
|
|||
|
HTTP Error 500 Internal server error
Ни о чем не говорит??? |
|
#3
|
||||
|
||||
|
Код:
uses
IdMultipartFormData, IdHTTP,
function Upload(const AFileName: String): String;
var
IdHTTP: TIdHTTP;
IdMultiPartFormDataStream: TIdMultiPartFormDataStream;
begin
Result:='';
IdHTTP:=TIdHTTP.Create(nil);
IdMultiPartFormDataStream:=TIdMultiPartFormDataStream.Create;
try
IdMultiPartFormDataStream.AddFile('file',
AFileName, 'application/octet-stream');
IdHTTP.HandleRedirects:=False;
IdHTTP.Host:='zalil.ru';
IdHTTP.Request.Host:='zalil.ru';
IdHTTP.Request.UserAgent:='Mozilla/3.0';
try
IdHTTP.Post('/upload/', IdMultiPartFormDataStream);
except
if (IdHTTP.ResponseCode div 100)=3 then
Result:='http://zalil.ru'+IdHTTP.Response.Location;
end;
finally
IdMultiPartFormDataStream.Free;
IdHTTP.Free;
end;
end;использование: Код:
begin
Edit1.Text:=Upload('d:\Downloads\handblue.bmp');
end; |
|
#4
|
|||
|
|||
|
lmikle, говорит! О внутренней ошибке
NumLock, спасибо работает! Но выдаёт ошибку HTTP 302, это исправить не трудно! |
|
#5
|
||||
|
||||
|
все правильно, ошибка 302 и должна быть. я ее и обрабатываю:
Код:
try
IdHTTP.Post('/upload/', IdMultiPartFormDataStream);
except
if (IdHTTP.ResponseCode div 100)=3 then
Result:='http://zalil.ru'+IdHTTP.Response.Location;
end; |