【发布时间】:2014-07-24 19:41:59
【问题描述】:
我需要将文件上传到站点 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 - 由于服务器出错,目前无法处理您的请求。
怎么了?
【问题讨论】:
-
我会尝试使用已知良好的下载源进行调试。如果您有自己的网络服务器(或网站),您可以看到请求的到来(在日志文件中)。现在您正在处理 2 个未知数(代码的操作 + 另一边的操作)。