R
rgx750814
Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个图片和字符同时传到服务端,在服务端把图片保存到一个指定的目录下,把字符插入数据库中.
我现在是定义了一个结构,把图片保存成一个文件流.
type
clitsend = packed record
ip: string[20];
//ip地址
mac: string[20];
//mac地址
imge:TFileStream;
//这个是传图片的.
end;
客户端:可以发送到服务端,服端可以接收到发来的信息.
var csend:clitsend;
Buf: TBytes;
begin
csend.
ip := ip;
csend.
mac := mac;
csend.
imge:= TFileStream.Create('C:/A6/ID371425197412102894.jpg', fmShareDenyNone);
Buf := rawtobytes(csend, sizeof(csend));
IdTCPClient.IOHandler.Write(buf);
end;
服务端接收:
procedure TForm1.ssctClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
Vclit: clitsend;
Buf: TBytes;
t: TFileStream;
jpegs: TJpegImage;
ss,ip,imgdir ,mac:string;
begin
ss := socket.ReceiveText;
BytesToRaw(TBytes(ss), Vclit, SizeOf(Vclit));
com_code := Vclit.com_code;
ip := Vclit.ip;
mac := Vclit.mac;
imgdir := 'f:/img/'123.jpg';
jpegs := TJpegImage.Create;
t := TFileStream.Create(imgdir, fmCreate);
t.CopyFrom(Vclit.imge, Vclit.imge.Size);
end;
在服务端,ip ,mac都传输的正确,但是执行 t.CopyFrom(Vclit.imge, Vclit.imge.Size);时就报错.请问这是为什么
我现在是定义了一个结构,把图片保存成一个文件流.
type
clitsend = packed record
ip: string[20];
//ip地址
mac: string[20];
//mac地址
imge:TFileStream;
//这个是传图片的.
end;
客户端:可以发送到服务端,服端可以接收到发来的信息.
var csend:clitsend;
Buf: TBytes;
begin
csend.
ip := ip;
csend.
mac := mac;
csend.
imge:= TFileStream.Create('C:/A6/ID371425197412102894.jpg', fmShareDenyNone);
Buf := rawtobytes(csend, sizeof(csend));
IdTCPClient.IOHandler.Write(buf);
end;
服务端接收:
procedure TForm1.ssctClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
Vclit: clitsend;
Buf: TBytes;
t: TFileStream;
jpegs: TJpegImage;
ss,ip,imgdir ,mac:string;
begin
ss := socket.ReceiveText;
BytesToRaw(TBytes(ss), Vclit, SizeOf(Vclit));
com_code := Vclit.com_code;
ip := Vclit.ip;
mac := Vclit.mac;
imgdir := 'f:/img/'123.jpg';
jpegs := TJpegImage.Create;
t := TFileStream.Create(imgdir, fmCreate);
t.CopyFrom(Vclit.imge, Vclit.imge.Size);
end;
在服务端,ip ,mac都传输的正确,但是执行 t.CopyFrom(Vclit.imge, Vclit.imge.Size);时就报错.请问这是为什么