本帖最后由 Simon.Sun 于 2024-9-11 09:07 编辑
格友们知道,活字格图片或附件上传时,数据库里存储的是文件名称,实际的文件是存储在服务器配置的磁盘路径上的。当图片或附件上传很多时,所有文件都在同一个目录下,不方便管理。如果上传文件时能够分目录,比如像微信那样可以按照日期分文件夹就好一些:
现在,这个功能他来啦~~
一、基本使用:
这里一图片上传和附件上传单元格举例,在单元格设置中可以指定上传的文件夹,比如图片上传这里指定为 imag
es,附件指定为 attachements:
那么在使用在文件上传时,上传的文件就放到文件上传根目录下指定的文件夹里,比如:
并且数据库里存储的文件会包含上传时配置的路径,这样展示获取文件的时候,就能根据存储的路径找到实际的文件:
也就是说,我们可以把上面配置的文件夹名(images/attachments)换成对应业务模块的名称,这样可以轻松实现上传文件按照模块分类管理。
二、进阶使用:
可以发现,配置文件夹名称的地方是支持书写公式的,借助这个设置,我们就能够实现更加灵活的配置,比如:
这样配置后,上传文件时就会上传到用户名/当前年月的文件夹下:
这样设置后,就能实现我们开始所说的,和微信一样,上传的文件就根据我们设置的公式,自动的按用户,年月分目录存储了。
三、路径配置注意事项:
从上面使用可以看出,路径的配置支持了公式,是很灵活的。但是这里路径的设置,最终会影响到文件往服务器磁盘的读写,所以我们在配置路径时需要注意一下。
1、配置的路径会在活字格本身附件的存储目录下进一步创建文件,且不能配置绝对路径,比如:D:\Temp(Windows)、/opt/temp(Linux),如果这样配置了,在上传文件时会提示路径非法错误:
仔细想想,如果能够随便配置路径,那么文件就会被写到一些私密的磁盘上,比如 C 盘,/root 目录下,这本身上也是一个不安全的操作。
2、配置路径不能包含一些特殊字符,比如::\、*、?、<>、|。我们配置的路径最终回创建成文件夹,而操作系统本身上就不支持这些特殊字符给文件或文件夹命名。
3、可以用 ../(上级目录) 这样的相对路径符号,但是注意相对路径最终执行的结果不能到附件上传根目录外面了,这样可以防止路径遍历攻击,大家知道这一点即可,不建议我们在配置路径时配置的很复杂,没有必要且不好维护。
四、其他需要提醒的地方:
1、目前支持配置文件上传路径的文件上传单元格包括:附件上传、图片上传、EL-文件上传、Vant-文件上传。
2、表格里的图片上传和附件上传,也支持上传文件夹配置。
3、文件上传目录配置在云存储上也支持使用。
4、配置了上传文件夹后上传的文件支持在其他单元格或命令上进行读取展示,比如 FilePreviewer,轮播图,预览图片命令等。
5、路径没有配置,和以前一样,文件存储在附件上传的根目录下。
6、我们可以在页面上使用多个附件上传单元格,文件上传路径可以分开配置,他们配置是相互隔离的。
|