16,748
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.Button1Click(Sender: TObject);
var
iLen:integer;
sFN,sPath:string;
MS,MS2:TMemoryStream;
begin
MS:=TMemoryStream.Create;
try
sPath:='c:\1.bmp';
sFN:=ExtractFileName(sPath);
iLen:=length(sFN);
MS.WriteBuffer(iLen,sizeof(iLen));
MS.WriteBuffer(sFN[1],iLen);
MS2:=TMemoryStream.Create;
MS2.LoadFromFile(sPath);
iLen:=MS2.Size;
MS.WriteBuffer(iLen,sizeof(iLen));
MS.CopyFrom(MS2,iLen);
MS2.Free;
IDHTTP1.post('http://127.0.0.1:114',MS,nil);
finally
MS.Free;
end;
end;
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
iLen:Integer;
sData,sFN:string;
MS:TMemoryStream;
pData:PChar;
begin
sData:=ARequestInfo.UnparsedParams;
if sData<>'' then
begin
MS:=TMemoryStream.Create;
try
MS.WriteBuffer(sData[1],length(sData));
MS.Position:=0;
MS.ReadBuffer(iLen,sizeof(iLen));
SetLength(sFN,iLen);
MS.ReadBuffer(sFN[1],iLen);
MS.ReadBuffer(iLen,sizeof(iLen));
GetMem(pData,iLen);
MS.ReadBuffer(pData^,iLen);//pData里面保存的就是图片数据
(*
MS.Clear;
MS.WriteBuffer(pData^,iLen);
MS.SaveToFile('f:\'+sFN);
*)
finally
MS.Free;
end;
end;
end;