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;

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 := ; b64 := TBase64Encoding.Create;
aStream := TMemoryStream.Create;
b64.Decode(strStream, aStream);
aStream.Position := ;
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

Datasnap Image的更多相关文章

  1. Delphi XE 10 DataSnap TCP 与 HTTP 比较

    在网络程序开发过程中,面临TCP  HTTP 的选择上往往让人陷入犹豫不决中,http的灵活和较强的穿透能力是TCP无法与之相提并论的,然而在响应速度和处理能力上却能看出后者比前者足够强大的地方.因此 ...

  2. DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)

    DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在 ...

  3. DelphiXE2 DataSnap开发技巧收集

    DelphiXE2 DataSnap开发技巧收集 作者:  2012-08-07 09:12:52     分类:Delphi     标签: 作为DelphiXE2 DataSnap开发的私家锦囊, ...

  4. DataSnap 2009 系列之三 (生命周期篇)

    DataSnap 2009 系列之三 (生命周期篇) DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置 当DSServer启动时从DSServerClass组 ...

  5. datasnap的初步 生命期LifeCycle

    datasnap的初步 生命期LifeCycle   TDSServerClass有一个属性LifeCycle,这个属性有三个值,很好理解1.Session,这是默认值.就是一个连接,一个Sessio ...

  6. 多层数据库应用基于Delphi DataSnap方法调用的实现(一)返回数据集

    从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进.Delphi 2009之前的DataSnap,虽然也实现 ...

  7. Delphi2010 DataSnap入门

    DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection ...

  8. Http协议访问DataSnap Rest 服务器

    用TIDHttp访问DataSnap Rest服务器,在服务器采用了用户验证的情况下,客户端需要注意下面的细节,否则不能正常连接. 假如服务器有如下的用户验证: procedure TSC.DSAut ...

  9. 关于 datasnap Stream的英文博客能容

    转载:http://blogs.embarcadero.com/jimtierney/2009/04/06/31461/ DataSnap Server Method Stream Parameter ...

  10. DataSnap 用TStream 传递大数据 返回流大小为-1的情况

    DataSnap可以直接传递和返回TStream类型的参数,这点是很方便的.但是很多人发现好像大小稍微大点就工作不正常了,就变相使用其它类型转换来转换去,这样便利性就失去了. 官方有篇博客很详细的介绍 ...

随机推荐

  1. DB SQL Monitor 阻塞及等待事件监控工具

    SQL Monitor Designed By zhaoguan wang 说明------------------------------------------------------------ ...

  2. CAD厂商的一丢丢笔记

    Cadence Cadence是个公司名,产品有: OrCAD,画原理图的 Allegro,画PCB的,PrintedCircuitBoard. Mentor,暂时还不知道画什么的 Autodesk ...

  3. fedora wine qq

    http://blog.lilydjwg.me/2015/10/26/run-tencent-qq-lite-with-wine.186640.html

  4. 中文字符串转换为十六进制Unicode编码字符串

    package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Uni ...

  5. XML编程知识点总结

    DOM和SAX DOM的全称是Document Object Model,也即文档对象模型.基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合,应用程序挣是通过对这个对象模型的操作,来实 ...

  6. Django 之 分表

    app名称为'core',基本的models.py文件内容如下: class Province(models.Model): name = models.CharField(u'省份名称',max_l ...

  7. *按类的某一字段排序(Lv)

    给定一个student类,类中有两个属性ID,Score.对一组student类对象排序,写出方法.

  8. javascript实现原生ajax的方法

    <script> var xmlHttp; function createxmlHttpRequest() { if (window.ActiveXObject) { xmlHttp = ...

  9. python1day

    下载地址 https://www.python.org/downloads/ 一 配置环境变量 右键计算机--属性--高级系统设置-高级-环境变量-系统变量--Administratorpath编辑- ...

  10. VC++6.0 配置CppUTest测试环境

    最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单 ...