1. 概述
1.1 版本
报表服务器版本 | JAR 包版本 | 插件版本 |
---|---|---|
10.0 | 2019-11-08 | 16.6 |
1.2 应用场景
用户通过报表对文件上传下载
1.3 功能介绍
报表填报属性界面,自定义提交中新增上传类型选择悦享版文件上传
超级链接新增一个链接类型 悦享版文件下载
支持多文件上传
支持按钮或者其他控件的事件进行文件上传或下载
支持多文件下载
支持APP文件下载
支持H5文件下载
支持报表扩展单元格文件下载
支持填报动态计算文件下载
支持大文件上传或下载
支持报表集群服务器
预览图片
支持文件上传或下载的类型:
1).服务器本地目录
2).FTP
3).SFTP
4).AWS S3(亚马逊S3),包括阿里云OSS,腾讯云COS,华为云OBS等支持兼容AWS S3接口的存储服务
5).阿里云OSS
6).华为云OBS
2. 插件介绍
需要给出如下详细的模板设计步骤,如果不需要示例模板,需要改成详细的操作步骤
2.1 插件安装
点击下载插件:悦享版文件上传下载插件
设计器插件安装方法参照:设计器插件管理
服务器安装插件方法参照: 服务器插件管理
2.2 操作说明
2.2.1 连接设置
只针对非服务器本地目录设置。
在报表填报属性界面,点击如下图所示的按钮,选择菜单即可。或者在设计器的服务器菜单下点击悦享版上传下载连接信息菜单
1)FTP/SFTP配置界面
按标签说明,填写配置参数,填完后点击测试连接按钮,测试能否正常连接
2)S3协议配置界面
若存储空间(Bucket)存在多个,用逗号隔开填入即可
按标签说明,填写配置参数,填完后点击测试连接按钮,测试能否正常连接
2.2.2 文件上传
1)填报自定义提交
在普通报表编辑状态下,点击菜单 模板->报表填报属性 界面,如下图所示
位置1 添加自定义提交
位置2 选择提交类型选择悦享版文件上传
位置3 设置连接类型
位置4 设置是否对重复文件覆盖
位置5 设置上传文件参数,支持字符串和公式
上传目录为文件要上传的路径,为绝对路径
文件名为上传文件名,若为空,则默认为上传文件的原始文件名
文件为文件控件所在的位置,请参考文件控件简介
此功能目前只支持填报报表和决策报表(即能够使用文件控件的报表)。
选择控件的事件栏,添加事件,选择点击事件,位置2下拉列表中选择悦享版文件上传即可。
注意: 文件列中的公式必须是文件控件的参数或者是放置文件控件的单元格
2.2.3 文件下载
1)超级链接
选择报表单元格的超级链接,添加链接选择悦享版文件下载
位置1 添加链接
位置2 设置连接类型
位置3 设置文件下载目录,为绝对路径,支持字符串和公式
位置4 设置下载文件名,支持字符串和公式
2)按钮或者其他控件的事件
选择控件的事件栏,添加事件,选择点击事件,位置2下拉列表中选择悦享版文件下载即可。
提示:不推荐在APP端的参数控件里面添加下载事件,体验不太好,可以在APP端的报表内容中的控件添加事件
3)多个文件同时下载
多个文件名用双竖线隔开,就可以下载多个文件了
2.2.4 函数
1)DELIGHT_IMAGE :返回悦享版连接的图片。
DELIGHT_IMAGE(serverName,directory,fileName,[bucket],[cacheOption])
serverName 连接名称,若为空,则为服务器本地目录,必填;
directory 文件目录,必填;
fileName 文件名,必填;
bucket S3的存储空间(Bucket),非必填
cacheOption 是否在浏览器里缓存图片,默认是缓存图片,若不想缓存图片,值为false,非必填
例如:
1)用函数显示服务器本地图片
DELIGHT_IMAGE("","E:/test","demo.png")
2)用函数显示FTP/SFTP服务器图片
DELIGHT_IMAGE("ftp1","/home/test","demo.png")
3)用函数显示S3服务器图片
DELIGHT_IMAGE("oss","/home/test","demo.png","oss-build")
4)用函数显示服务器本地图片,在浏览器中不缓存图片
DELIGHT_IMAGE("","E:/test","demo.png","",false)
2)DELIGHT_CONCAT_ARRAY :返回数组拼接的字符串。主要为了方便多文件下载的时候使用
DELIGHT_CONCAT_ARRAY (prefixValue,arrayValue,[suffixValue])
prefixValue 前缀值,非必填;
arrayValue 数组,非必填;
suffixValue 后缀值,非必填;
例如:
DELIGHT_CONCAT_ARRAY("a",[1,2,3],"c") ,显示为 a1ca2ca3c
2.2.4 文件控件
在报表单元格,添加一个<悦享版文件控件>,支持自定义文件类型,若自定义多个文件类型,用竖线(|)隔开,如下图所示
3. 注意事项
文件上传支持多个文件一起上传
文件下载不支持目录下载
文件上传,若文件文件夹不存在,会自动创建文件夹
4. 使用场景说明
1.针对文件上传文件名设置
(1).若文件名为空,则使用文件的原始文件名
(2).若文件名没有后缀,则会在文件名上添加原始文件名后缀
(3).文件名支持函数,用参数$delight_upload_original_file_name 表示原始文件名,参与函数计算
(4).对于多文件上传,文件名设置
(4.1).文件名为为空,使用原始文件名
(4.2).用函数动态生成文件名,比如UUID函数
(4.3).用数组,可以用函数SPLIT生成数组或者用函数FILENAME生成原始文件名的数组
这样,可以保证文件名是多个且不重复
2.文件上传的文件设置
文件用的公式必须是文件控件的参数或者放置文件控件的单元格,目前只有填报报表和决策报表支持文件上传
3.对于IIS搭建的FTP服务器,在设置服务器连接时,建议将编码设置为GBK
4.自动创建文件夹,以及上传下载都需要有文件夹权限
5.上传下载服务器本地目录,目录是绝对路径
6.ftp在windows上是相对路径,在Linux上是绝对路径,若无法确认可以用第三方ftp客户端核实一下
7.ftp勾选匿名登录时,用户名需要写为anonymous,密码为空
5. 与其它插件功能对比
功能点 | 悦享版文件上传下载插件 | 上传下载文件插件(旧) | |
---|---|---|---|
填报自定义提交上传文件 | 支持 | 支持 | |
超级链接下载文件 | 支持 | 支持 | |
多个文件同时上传 | 支持 | 不支持 | |
多个文件同时下载 | 支持 | 不支持 | |
移动端文件下载 | 支持 | 不支持 | |
H5文件下载 | 支持 | 不支持 | |
控件事件进行文件上传 | 支持 | 只支持决策报表 | |
控件事件进行文件下载 | 支持 | 不支持 | |
扩展单元格文件下载 | 支持 | 不支持 | |
填报动态计算文件下载 | 支持 | 不支持 | |
大文件下载 | 支持 | 不支持 | |
大文件上传 | 支持 | 不支持 | |
报表集群服务器 | 支持 | 不支持 | |
预览图片 | 支持 | 不支持 | |
自定义上传文件类型 | 支持 | 不支持 | |
存储类型 | 服务器本地目录 | 支持 | 支持 |
FTP | 支持 | 支持 | |
SFTP | 支持 | 不支持 | |
AWS S3 | 支持 | 不支持 | |
阿里云OSS | 支持 | 不支持 | |
华为云OBS | 支持 | 不支持 |