Datasnap Image
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的更多相关文章
- Delphi XE 10 DataSnap TCP 与 HTTP 比较
在网络程序开发过程中,面临TCP HTTP 的选择上往往让人陷入犹豫不决中,http的灵活和较强的穿透能力是TCP无法与之相提并论的,然而在响应速度和处理能力上却能看出后者比前者足够强大的地方.因此 ...
- DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)
DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在 ...
- DelphiXE2 DataSnap开发技巧收集
DelphiXE2 DataSnap开发技巧收集 作者: 2012-08-07 09:12:52 分类:Delphi 标签: 作为DelphiXE2 DataSnap开发的私家锦囊, ...
- DataSnap 2009 系列之三 (生命周期篇)
DataSnap 2009 系列之三 (生命周期篇) DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置 当DSServer启动时从DSServerClass组 ...
- datasnap的初步 生命期LifeCycle
datasnap的初步 生命期LifeCycle TDSServerClass有一个属性LifeCycle,这个属性有三个值,很好理解1.Session,这是默认值.就是一个连接,一个Sessio ...
- 多层数据库应用基于Delphi DataSnap方法调用的实现(一)返回数据集
从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进.Delphi 2009之前的DataSnap,虽然也实现 ...
- Delphi2010 DataSnap入门
DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection ...
- Http协议访问DataSnap Rest 服务器
用TIDHttp访问DataSnap Rest服务器,在服务器采用了用户验证的情况下,客户端需要注意下面的细节,否则不能正常连接. 假如服务器有如下的用户验证: procedure TSC.DSAut ...
- 关于 datasnap Stream的英文博客能容
转载:http://blogs.embarcadero.com/jimtierney/2009/04/06/31461/ DataSnap Server Method Stream Parameter ...
- DataSnap 用TStream 传递大数据 返回流大小为-1的情况
DataSnap可以直接传递和返回TStream类型的参数,这点是很方便的.但是很多人发现好像大小稍微大点就工作不正常了,就变相使用其它类型转换来转换去,这样便利性就失去了. 官方有篇博客很详细的介绍 ...
随机推荐
- mysql强更改root密码
在丢失root密码的时候,可以这样 要先停掉 mysql服务 mysqld_safe --skip-grant-tables& mysql -u root mysql mysql> UP ...
- myeclipse编译、输出
在项目上点右键:run--run configuration, 选择左边的“compile GWT Application”,新建一个编译配置,然后选右下角的run.
- 【java】org.apache.commons.lang3功能示例
org.apache.commons.lang3功能示例 package com.simple.test; import java.util.Date; import java.util.Iterat ...
- HTML DOM元素的Dragdrop
在前端web页面中,为了提高用户体验,通常会希望将页面中的元素设计成可dragdop的,简化用户操作.这一设计特性在缺少鼠标的触摸屏设备上,显得更为重要. 在早期的应用中,我们通常需要借助第三方的ja ...
- Android生命周期
Android的生命周期如下图所示: A和B两个Activity,从A启动B活动.执行的方法: A活动 onCreate() onStart() onResume() ...
- C#动手实践:Kinect V2 开发(2):数据源工作原理及红外源Demo
Kinect体系架构
- CGI
CGI的工作原理一般是这么定义的: 客户端web浏览器浏览某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求,服务器端的HTTP Daemon(守护进程)将描述的主页信息通过 ...
- IBM Power PC安装sysbench 执行mysql基准测试 --- sysbench安装
第一步:下载Sysbench http://dev.mysql.com/downloads/benchmarks.html 第二步:解压sysbench 第三步:执行安装步骤 1. ./autogen ...
- vbox下创建共享存储
1.创建共享盘VBoxManage.exe createhd -filename D:\VM\linux01\ocr_vote.vdi -size 2048 -format VDI -variant ...
- PHP常用库函数
1.时间和日期 如何获取时间戳 time()--从1970年开始计算的毫秒数 echo time(); 日期 echo date('Y-m-d H:i:s'); 获取默认是时区 echo date_d ...