Загрузка файлов с помощью 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-го уровня - это то, с чем нужно бороться, а не с вашей стороны.

Другие вопросы по тегам