使用Synapse上传文件

时间:2014-07-23 17:41:48

标签: delphi upload 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 个答案:

答案 0 :(得分:2)

错误的确切信息是什么:服务器上的错误。

这可能意味着两件事之一。问题不在您的代码中,并且您无法对其进行任何操作,或者代码中的 问题,并且网站返回了错误的错误消息。无论哪种方式,你需要联系rghost背后的人来了解真正发生的事情。 500级错误是他们必须处理的事情,而不是你的错误。