procedure TForm1.btnSaveClick(Sender: TObject);
var
xml:TNativeXml;
xmlN1: TXmlNode;
xmlN2: TXmlNode;
ss:TStringStream;
ms:TMemoryStream;
begin
// 上传含有二进制图像数据的 xml 文件
btnSave.Enabled:= False;
xml:= TNativeXml.CreateName('xmlimages');
//xml.Utf8Encoded := True;
xml.EncodingString := 'UTF-8';
xml.BinaryEncoding:= xbeBinHex;
xml.XmlFormat:= xfReadable;
xmlN1:= xml.Root.NodeNew('xmlimage');
xmlN2:= xmlN1.NodeNew('testID');
xmlN2:= xmlN1.NodeNew('bigtext');
xmlN2.ValueAsString:= EncodeBase64(Memo1.Text);
ms:= TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(ms);
ss:= TStringStream.Create('');
ms.SaveToStream(ss);
xmlN2:= xmlN1.NodeNew('image');
xmlN2.ValueAsString:= EncodeBinHex(ss.DataString);
//Edit1.Text:= IntToStr(Length(xmlN2.ValueAsString));
//xmlN2.ValueAsString:= EncodeBase64(ss.DataString);
xml.SaveToFile('image.xml');
xml.SaveToStream(ms);
xml.Free;
IdHTTP1.Post('http://127.0.0.1:8080/fire_mis/servlet/testServlet', ms);
ms.Free; btnSave.Enabled:= True;
end;
用的模式
DELPHI -> HTTP+ XML -> Servlet ,就是多了上传图像
卡在不能带着图像上传,JAVA解包就报错,去掉该字段就OK
求解!
var
xml:TNativeXml;
xmlN1: TXmlNode;
xmlN2: TXmlNode;
ss:TStringStream;
ms:TMemoryStream;
begin
// 上传含有二进制图像数据的 xml 文件
btnSave.Enabled:= False;
xml:= TNativeXml.CreateName('xmlimages');
//xml.Utf8Encoded := True;
xml.EncodingString := 'UTF-8';
xml.BinaryEncoding:= xbeBinHex;
xml.XmlFormat:= xfReadable;
xmlN1:= xml.Root.NodeNew('xmlimage');
xmlN2:= xmlN1.NodeNew('testID');
xmlN2:= xmlN1.NodeNew('bigtext');
xmlN2.ValueAsString:= EncodeBase64(Memo1.Text);
ms:= TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(ms);
ss:= TStringStream.Create('');
ms.SaveToStream(ss);
xmlN2:= xmlN1.NodeNew('image');
xmlN2.ValueAsString:= EncodeBinHex(ss.DataString);
//Edit1.Text:= IntToStr(Length(xmlN2.ValueAsString));
//xmlN2.ValueAsString:= EncodeBase64(ss.DataString);
xml.SaveToFile('image.xml');
xml.SaveToStream(ms);
xml.Free;
IdHTTP1.Post('http://127.0.0.1:8080/fire_mis/servlet/testServlet', ms);
ms.Free; btnSave.Enabled:= True;
end;
用的模式
DELPHI -> HTTP+ XML -> Servlet ,就是多了上传图像
卡在不能带着图像上传,JAVA解包就报错,去掉该字段就OK
求解!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货