Image Base64 Datasnap Image delphi与c#互相兼容识别
2016-11-18 23:39
1631 查看
delphi用,不能与java、c#互相识别。
procedure TServerMethods.UpdateDoc(ItemID : integer; doc : TStream);delphi用,不能与java、c#互相识别。
procedure TServerMethods.UpLoadFile(ADoc: TJSONArray);jsonArray := TDBXJSONTools.StreamToJSON(aStream, 0, aStream.Size);
bstream := TDBXJSONTools.JSONToStream(jsonArray);
procedure TForm2.Button4Click(Sender: TObject); var jpg, jpg2: TJPEGImage; aStream: TMemoryStream; bstream: TStream; jsonArray: TJSONArray; begin jpg := TJPEGImage.Create; jpg.LoadFromFile('e:\test.jpg'); Image1.Picture.Assign(jpg); aStream := TMemoryStream.Create; jpg.SaveToStream(aStream); aStream.Position := 0; jsonArray := TDBXJSONTools.StreamToJSON(aStream, 0, aStream.Size); RichEdit1.Text := jsonArray.Value; RichEdit1.Text := jsonArray.ToString; RichEdit1.Text := jsonArray.ToJSON; // 纯数字 不能跨语言 java c#互相识别 // jsonArray:= TJSONObject.ParseJSONValue(RichEdit1.Text); bstream := TDBXJSONTools.JSONToStream(jsonArray); jpg2 := TJPEGImage.Create; bstream.Position := 0; jpg2.LoadFromStream(bstream); Image2.Picture.Assign(jpg2); jpg.Free; end;
View Code
http://www.cnblogs.com/codingnote/archive/2012/04/09/2438673.html http://stackoverflow.com/questions/16550915/how-to-convert-a-json-string-to-an-image http://blog.csdn.net/shandiantianying/article/details/9022121
string,base64
class function CreateTDataSetFromJSON(value: TJSONObject): TDataset;
class function TDataSetToJSONObject(value: TDataset): TJSONObject;
跨语言C#、java
Delphi读取b64字符串procedure TForm2.Button3Click(Sender: TObject); var strStream: TStringStream; b64: TBase64Encoding; aStream: TMemoryStream; jpg2: TJPEGImage; begin strStream := TStringStream.Create; strStream.LoadFromFile('e:\b64CSharp.txt'); strStream.Position := 0; b64 := TBase64Encoding.Create; aStream := TMemoryStream.Create; b64.Decode(strStream, aStream); aStream.Position := 0; jpg2 := TJPEGImage.Create; jpg2.LoadFromStream(aStream); Image2.Picture.Assign(jpg2); strStream.Free; b64.Free; aStream.Free; jpg2.Free; end;
c#图片base64编码
private void button1_Click(object sender, EventArgs e) { System.IO.MemoryStream ms = new System.IO.MemoryStream(); System.Drawing.Bitmap bp = new Bitmap(@"e:\test.jpg"); bp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] b = ms.GetBuffer(); this.richTextBox1.Text = Convert.ToBase64String(b); }
C#图片baes64解码
byte[] bt = Convert.FromBase64String(base64string); System.IO.MemoryStream stream = new System.IO.MemoryStream(bt); Bitmap bitmap = new Bitmap(stream); pictureBox1.Image = bitmap;
Vcl.Imaging.pngimage.hpp
TPngImage
相关文章推荐
- 让Delphi的DataSnap发挥最大效率
- Delphi2010中DataSnap高级技术(6)—加强服务程序对访问者的控制能力
- 我的在线讨论和白皮书关于Delphi XE开发REST服务用DataSnap
- Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
- 让Delphi的DataSnap发挥最大效率
- .net C# listbox的key和Text分离,类似delphi的listbox的Data
- System.Data.SqlClient.SqlException: 操作数类型冲突: tinyint 与 image 不兼容
- 進階DataSnap回叫功能(李维) 高级delphi 回调功能
- Delphi2010中DataSnap高级技术(1)—为DataSnap系统服务程序添加描述
- delphi xe datasnap rest 相關
- Delphi 2010 DataSnap封装COM对象
- delphi datasnap 心跳包
- Delphi 的一个加密和压缩组件 (用于DataSnap多层程序中)
- 让Delphi的DataSnap发挥最大效率
- 让Delphi的DataSnap发挥最大效率
- 让Delphi的DataSnap发挥最大效率
- 让Delphi的DataSnap发挥最大效率
- 视频:连接 Android应用和DataSnap服务-巴西 2010 Delphi 大会
- 多层数据库应用基于Delphi DataSnap方法调用的实现(一)返回数据集
- 多层数据库应用基于Delphi DataSnap方法调用的实现(四)BLOB字段的读写