导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/6 20:48:04
标题:
加入我的收藏
楼主:
snap怎么实现BLOB字段的写 服务端存储文件到表
----------------------------------------------
沈阳-
作者:
2017/12/6 22:06:19
1楼:
snap snap 英[snæp] 美[snæp] vt. 折断; 猛地咬住; 呵斥; vt. 拍照; 用子母扣扣; [棒球]快速传(球); 拍…的快照; n. (树枝等的) 突然折断; 严厉的话; 突然的撕咬; 尤指关上或断裂的声音)啪嗒声;
----------------------------------------------
(C)(P)Flying Wang
作者:
2017/12/7 8:05:06
2楼:
可能说的是datasnap
----------------------------------------------
-delphi新资讯站 http://www.delphigear.cn
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 8:28:17
3楼:
datasnap怎么实现BLOB字段的写 服务端存储文件到表
----------------------------------------------
沈阳-
作者:
2017/12/7 8:36:45
4楼:
从来不用 datasnap 我们都是用 rest webservice rosdk 等 第三方。
----------------------------------------------
(C)(P)Flying Wang
作者:
2017/12/7 8:38:07
4楼:
不知道是不是说把文件写到表里面存着。我读书少看的不是很明白,如果是跟snap没关系,ADO,fireDac都可以做的到。
----------------------------------------------
-只会复制粘贴!
作者:
2017/12/7 8:59:59
5楼:
我怀疑楼主是老外,否则,他写的内容,不能那么难懂。
----------------------------------------------
(C)(P)Flying Wang
作者:
2017/12/7 10:25:18
6楼:
客户端直接base64当字符串操作
----------------------------------------------
-
作者:
2017/12/7 12:28:01
7楼:
人家 楼主 可能是老外,正在翻译 客户端 服务器 这些描述。 他 目前 无法说清楚 他是 服务器 代码 还是 客户端代码。
----------------------------------------------
(C)(P)Flying Wang
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 12:49:14
8楼:
datasnap怎么实现BLOB字段的写 客户端文件存储到表后 服务端存储该条记录到对应表 、、---------- 或服务端直接收客户端的文件后 再存储到对应表BLOB字段 已经实现
----------------------------------------------
沈阳-
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 12:50:35
9楼:
包括客户端 及其服务端 两部分代码
----------------------------------------------
沈阳-
作者:
2017/12/7 13:33:28
10楼:
你 8 楼说 已经实现了,那就 OK 了。
----------------------------------------------
(C)(P)Flying Wang
作者:
2017/12/7 13:34:15
10楼:
SQL格式: UPDATE Z_ITEM_CLASS SET NAME='-', BCODE='MJ', NCODE='5', ECODE='', IMAGE=0x89504E470D0A......--这里就是BLOB字段,当没有图片时可NULL或0x00 WHERE ID='铆接' AND PARENT='待包装' ---------- 流转SQL的存储格式代码: Function StreamToSqlStr(FData:Pointer):String; var Index:integer; buf:array[0..16383] of byte; PInt,AInt:Integer; begin Result:=''; TMemoryStream(FData).Seek($00,soFromBeginning); AInt:=0; repeat Pint:=TMemoryStream(FData).Read(buf, sizeof(buf)); for Index := 0 to Pint - 1 do Result:=Result+Format('%.2x',[buf[Index]]); AInt:=AInt+Pint; until AInt=TMemoryStream(FData).Size; if Result='' then Result:='00'; Result:='0x'+Result; end; 效果:
此帖子包含附件: 大小: 3.26M
----------------------------------------------
就怕想不到,没有做不到的
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 15:11:04
11楼:
函数如何调用 Function StreamToSqlStr(FData:Pointer):String; FData:Pointer 如何赋值
----------------------------------------------
沈阳-
作者:
2017/12/7 16:03:58
12楼:
TMemoryStream类型的 比如 Var iStream:TMemoryStream; Begin iStream:=MemoryStream.Create Try iStream.loadfi....//加载文件 或者从数据集中获取二进制数据流 进行SQL脚本拼接如插入,更新 StreamToSqlStr(iStream) Finally FreeAndNil(iStream) End; End;
----------------------------------------------
就怕想不到,没有做不到的
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 16:57:02
13楼:
procedure Tfrmpromain.Button4Click(Sender: TObject); var fs: TFileStream; fstr, f:string; begin // 存 f:='d:\1.txt'; fs := TFileStream.Create(f, fmOpenRead); fs.Position := 0; fstr:=StreamToSqlStr(fs); Datas.pgftb.Edit; Datas.pgftb.FieldByName('nm').AsString:='1s.txt'; Datas.pgftb.FieldByName('fs').AsString:=fstr; //BLOB字段 //好像我写的不对 读时出错 Datas.pgftb.Post; fs.Free; end;
----------------------------------------------
沈阳-
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 16:58:30
14楼:
取文件 TBlobField(Datas.pgftb.FieldByName('fs')).SaveToFile('d:\2.txt');
----------------------------------------------
沈阳-
作者:
2017/12/7 17:02:35
15楼:
14 楼的代码,是存在反向操作的。 file 和 Stream 各有一对操作。 Save Load。 关键是 8 楼 说 服务器端,已经实现了。
----------------------------------------------
(C)(P)Flying Wang
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 17:10:20
16楼:
我是直接把流传到服务器端 服务器端直接把流保存到表里
----------------------------------------------
沈阳-
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 17:11:00
17楼:
按10楼的方法 服务器端该如何实现呢
----------------------------------------------
沈阳-
作者:
ozhy1 (ozhy1)
★☆☆☆☆
-
普通会员
2017/12/7 17:12:26
18楼:
字符串如何再转为流
----------------------------------------------
沈阳-
作者:
2017/12/7 17:57:59
19楼:
我觉得 你 16楼的做法,非常的明智。
----------------------------------------------
(C)(P)Flying Wang