我遇到一个奇怪的问题.
我使用Delphi和Indy上传和备份一些文件.
它在许多计算机上运行得很好(Win7 64bit,WinXP).
cpu使用率低于1%和最大值. RAM为20MB.
但是有一台计算机(Win 2008 R2)存在问题,我无法找到原因.
cpu使用率为5-20%,RAM需要100MB,而且增加很多.
此外,“页面错误”上升很多,例如.每秒10万(不会增加我的电脑)
代码很简单
var IdHTTP: TIdHTTP; IdPostData: TIdMultiPartFormDataStream; sResponse: string; begin IdHTTP := TIdHTTP.Create(nil); IdPostData:=TIdMultiPartFormDataStream.Create; try IdPostData.AddFile('file','C:\data.dat',''); sResponse:=IdHTTP.Post('http://web.com',IdPostData); ShowMessage(sResponse); finally IdHTTP.Free; IdPostData.Free; end; end;
解决方法
只需在“try”子句之前输入“IdHttp:= nil; IdPostData:= nil; sResponse:=’Ok’;”然后重试
–reviewed–稍微更改了你的代码
procedure SendFile; var IdHTTP: TIdHTTP; IdPostData: TIdMultiPartFormDataStream; sResponse: string; begin sResponse := 'OK'; IdHTTP := TIdHTTP.Create(nil); IdPostData:=TIdMultiPartFormDataStream.Create; try IdPostData.AddFile('C:\data.dat','data.dat',''); IdHTTP.Post('http://www.yahoo.com',IdPostData); ShowMessage(sResponse); finally IdHTTP.Free; IdPostData.Free; end; end;