二开指南-K3文件存储之数据库式存储通用组件原创
金蝶云社区-Robby
Robby
10人赞赏了该文章 548次浏览 未经作者许可,禁止转载编辑于2023年04月07日 17:03:50

image.png

K3系统中有一个数据库式存储文件的方法,可以把50M以下的文件压缩转为2进制流存储数据库的image字段中;


下面演示工程如何压缩文件,如何解压缩文件,打开文件(如何将2进制流存储到数据库中不介绍了,网上搜sql教程)

新建工程,并引用

image.png

microsoft scripting runtime, microsoft activeX data Object 2.6 Library;

image.png

工程头注入:用于打开文件

Private Declare Function ShellExecute Lib "SHELL32.DLL" Alias "ShellExecuteA" (ByVal HWND As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

压缩的代码:

假设我现在要处理c盘的note.log文件

image.png

image.png

再加载前我先定义2个参数,sFileName 要处理的文件、m_sTempFileName 压缩时产生的临时文件

压缩代码:使用KDZIP.ZIP压缩文件,并得到一个varFile数据;

image.png

--本例子中无将2进制流存储到数据库的代码,为方便演示将压缩时产生的2进制流当做了全局变量varFile

解压并显示:可以把他当做3步

1.假设你读取到了数据库存的2进制流数据varFile,将var file先转成temp文件

2.解压缩文件:将temp文件转化为目标文件放到temp文件夹(这个文件夹需要先创立)

3.打开文件temp中刚创建的文件;

image.png

单据附件数据是存在于t_Accessory中;如何插入可以直接用sql跟踪去跟踪;此贴不介绍

完。

赞 10