Загрузка файлов с помощью Synapse
Мне нужно загрузить файл на сайт rghost.net:
procedure TForm1.Button1Click(Sender: TObject);
var
HTTP: THTTPSendEx;
Data: TMultipartFormDataStream;
sHTML: string; //Received HTML code from web
upload_url, fireld_name: string;
begin
upload_url:='http://kaon.rghost.ru/files';
fireld_name:='file';
if OpenDialog1.Execute then
begin
HTTP:=THTTPSEndEx.Create;
HTTP.UserAgent:='Mozilla/5.0 (Windows; I; Windows NT 5.1; ru; rv:1.9.2.13) '+
'Gecko/20100101 Firefox/4.0';
Data:=TMultipartFormDataStream.Create;
try
//Data.AddFile(fireld_name, OpenDialog1.FileName);
Data.AddFile(fireld_name, OpenDialog1.Filename);
Data.DataEnd;
if HTTP.Post(upload_url,Data,sHTML) then
begin
end;
finally
FreeAndNil(HTTP);
FreeAndNil(Data);
end;
Memo1.Text := sHTML;
ShellExecute(Handle, 'open', 'page.html', nil, nil, SW_SHOWNORMAL);
end;
end;
Программа должна вернуть ссылку на файл, но она возвращает:
500 - ваш запрос не может быть обработан в данный момент из-за ошибки на сервере.
Что случилось?
1 ответ
Что не так, это именно то, что говорится в сообщении: ошибка на сервере.
Это может означать одну из двух вещей. Либо проблема не в вашем коде, и вы ничего не можете с этим поделать, либо проблема в вашем коде, и веб-сайт возвращает неправильное сообщение об ошибке. В любом случае, вам нужно связаться с людьми из rghost, чтобы получить представление о том, что на самом деле происходит. Ошибки 500-го уровня - это то, с чем нужно бороться, а не с вашей стороны.