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类型的参数,这点是很方便的.但是很多人发现好像大小稍微大点就工作不正常了,就变相使用其它类型转换来转换去,这样便利性就失去了. 官方有篇博客很详细的介绍 ...
随机推荐
- spring mvc 4识别浏览器(移动端) spring-mobile-device
官方文档: http://projects.spring.io/spring-mobile/ 通过mvc.xml配置示例: http://blog.csdn.net/wuyt2008/article/ ...
- git常见命令
总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...
- 手机网页调试利器: Chrome
新开发的网页需要在手机或是模拟机上运行测试, 可以借助 Chrome提供的手机网页预览程序进行简单调试.查看 制作的网页是否能够适合各种手机型号使用. 下面所以下如何使用Chrome调试多类型手机网页 ...
- 【巩固】Bootstrap笔记三
这段笔记介绍了bootstrp中以下几点应用点: 警告框的使用 面板功能 运用chart.js制作图表 进度条的制作 媒体对象的制作 有一个元素如果有属性alert-dismissible" ...
- SpringMvc JSON 406,吐血。。。。
解决方法一: 1.导入jackson-core-2.5.1.jar和jackson-databind-2.5.1.jar 2.Spring配置文件添加: 1 spring3为:org.springfr ...
- CSS盒子模型与box-sizing
今天在学习的时候偶然看到一张图片: 我瞬间瞪大了眼睛:width和height竟然不包括padding和border!! 过去所学知识有问题!在我的印象里,width应该是包含padding和bord ...
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- zhizhensuibi---Source aplikasi database dengan delphi7
Install INDY 10 dari : G:\D\My\ Source \DELPHI\ DELPHI7 \Indy10\ : 从上面打开第3行---保存---运行SRC http://sp.j ...
- Ubuntu12.04解决gedit中文乱码问题
Ubuntu12.04,终端中分别输入下面两条指令: gsettings set org.gnome.gedit.preferences.encodings auto-detected “['GB18 ...
- Shell中取得文件的最后修改时间
stat -c %y file 取得修改日期 -,-,-