请选择 进入手机版 | 继续访问电脑版
Simon.Sun 活字格认证 Wyn认证
超级版主   /  发表于:2026-1-5 10:58  /   查看:140  /  回复:0
本帖最后由 Simon.Sun 于 2026-1-5 13:42 编辑

这里给大家同步个文件管理插件的策略。
文件管理插件的介绍格友们可以参考市场的链接:
文件管理 - 葡萄城市场

这里要说的策略和文件管理插件上传设置有关:

在文件上传单元格上传设置这里,有文件上传的配置功能,其中可以指定上传文件的路径。
这里指定后,通过文件管理插件上传的文件就会存储到指定目录下,就不会跟着活字格默认的附件存储目录走了,不管是本地开发设计器调试还是发布到活字格服务器的应用。
PS:活字格附件默认的存储规则可以参考这个帖子:
看完必恍然大悟的活字格内幕:五十五、活字格附件存储原理详解
https://gcdn.grapecity.com.cn/showtopic-143200-1-1.html
(出处: 葡萄城开发者社区)

文件管理插件和上述活字格内置的附件存储逻辑不同,为了更好的说明下面的策略,这里再补充下文件管理插件附件的存储原理。

使用文件管理插件/文件上传单元格类型上传的文件,业务数据库存储的附件值和内置附件逻辑一致,是 GUID_文件名。
和内置附件存储逻辑不同德是,实际存储的文件并没有带有 GUID,而是存储的上传附件原本的名字,上传附件存储的目录在默认附件目录的 arsenal 目录下:

其中上传的附件会存储在 files 目录下,且为上传附件原本的名称。
这样大家就会有个疑问业务数据库存储的是 GUID-文件名,而实际存储的问题又是原始名称,这样后续在访问附件时要怎么跟进业务数据库的附件值找打实际的文件呢。
文件管理做到上述这点,在 data 文件夹下有一个 SQLite 数据库,来存储 GUID 和实际文件映射关系,比如:

其中 key 这一列就是对应了业务数据库里存储的附件值。


好了,回到正题,和内置的附件上传单元格一样,首先这里配置路径建议配置相对路径(相对于附件的默认存储路径)。但是有时候格友们可能会配置成绝对路径,比如上面截图这样,配置到了 D:\Temp 目录下。这样配置后,通过设计器里文件管理插件上传的附件表现如下:
1、设计器开发调试-本地工程:设计器运行浏览器调试后,上传附件,回到设计器同步数据,文件上传存储文件数据 SQLite 也会同步回来,保存工程文件后,运行调试的附件也会保存,下次打开工程时能够看到上次的上传的附件;
2、设计器开发调试-协同工程,设计器运行浏览器调试后,上传附件,回到设计器同步数据,如果附件模块没有签出,文件上传存储文件数据 SQLite 则不会同步回来,下次打开协同工程,由于 SQLite 没有同步,导致附件的映射关系丢了,再次运行工程,上次调试上传的附件就会找不到。
所以,如果我们文件管理\文件上传\上传设置里配置的是绝对路径,如果是协同工程,我们调试时,记得先把附件模块手动签出下

这样开发调试上传附件后,协同工程保存退出,再次打开运行,就不会有附件访问不到的问题。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部