1. 概述
1.1 版本
报表服务器版本 | 插件版本 |
---|---|
11.0 | 1.0 |
1.2 应用场景
用户通过报表对文件上传下载
1.3 功能介绍
1)上传文件
报表填报属性界面,自定义提交中新增上传类型选择悦享版文件上传
支持按钮或者其他控件的事件进行文件上传
支持多文件上传
支持大文件下载
移动端仅支持上传图片文件
2)下载文件
超级链接新增一个链接类型 悦享版文件下载
支持按钮或者其他控件的事件进行文件下载
支持多文件下载
支持大文件上传
支持APP文件下载
支持H5文件下载
支持填报动态计算文件下载
支持预览图片
3)文件类型
服务器本地目录
FTP
SFTP
AWS S3(亚马逊S3),包括阿里云OSS、腾讯云COS、华为云OBS、MinIO等支持兼容AWS S3接口的存储服务
阿里云OSS
华为云OBS
2. 插件介绍
需要给出如下详细的模板设计步骤,如果不需要示例模板,需要改成详细的操作步骤
2.1 插件安装
点击下载插件:悦享版文件上传下载插件
设计器插件安装方法参照:设计器插件管理
服务器安装插件方法参照: 服务器插件管理
2.2 操作说明
2.2.1 连接设置
只针对非服务器本地目录设置。
在报表填报属性界面,点击如下图所示的按钮,选择菜单即可。或者在设计器的服务器菜单下点击悦享版上传下载连接信息菜单
1)FTP/SFTP配置界面
按标签说明,填写配置参数,填完后点击测试连接按钮,测试能否正常连接
FTP服务器为windows操作系统时,编码可能为GBK,若无法连接或上传下载文件报错,可以将编码改为GBK
2)S3协议配置界面
若存储空间(Bucket)存在多个,用逗号隔开填入即可
按标签说明,填写配置参数,填完后点击测试连接按钮,测试能否正常连接
地域一般默认不填,不做校验
2.2.2 文件上传
1)填报自定义提交
在普通报表编辑状态下,点击菜单 模板->报表填报属性 界面,如下图所示:
位置1 添加自定义提交
位置2 选择提交类型选择悦享版文件上传
位置3 设置连接类型
位置4 设置是否对重复文件覆盖
位置5 设置上传文件参数,支持字符串和公式
上传目录为文件要上传的路径,为绝对路径
针对不同文件后缀,上传不同的目录 ,可以写成 后缀>目录,多目录用竖线隔开,若设置重复以最后设置的后缀对应的目录为准
例如 D:/test2|xls,ppt>D:/test|doc,xlsx,xls>D:/test1 xls,ppt后缀的文件上传到D:/test目录,doc,xlsx,xls上传到D:/test1目录,其他的上传到D:/test2目录
文件名为上传文件名,若为空,则默认为上传文件的原始文件名
文件为文件控件所在的位置,请参考文件控件简介
此功能目前只支持填报报表和决策报表(即能够使用文件控件的报表)。
选择控件的事件栏,添加事件,选择点击事件,位置2下拉列表中选择悦享版文件上传即可。
注意:
文件列中的公式必须是文件控件的参数或者是放置文件控件的单元格
上传事件不支持单元格扩展场景
2.2.3 文件下载
1)超级链接
选择报表单元格的超级链接,添加链接选择悦享版文件下载
位置1 将位置4的配置增加到中间表格列表中
位置2 在表格中选择配置,将位置4的配置修改选中的配置
位置3 删除表格中选中的配置
位置4 设置文件下载目录,为绝对路径,支持字符串和公式;设置下载文件名,支持字符串和公式,多个文件名用双竖线隔开,就可以下载多个文件
位置5 若让多个 文件打包压缩成一个文件下载,请勾选下图选项<多个文件打包压缩成一个文件>
位置6 下载文件的重命名
注意:移动端不支持多个文件时,每个文件单独下载
2)按钮或者其他控件的事件
选择控件的事件栏,添加事件,选择点击事件,位置2下拉列表中选择悦享版文件下载即可。
提示:不推荐在APP端的参数控件里面添加下载事件,体验不太好,可以在APP端的报表内容中的控件添加事件
2.2.4 函数
1、DELIGHT_IMAGE :返回悦享版连接的图片。
DELIGHT_IMAGE(serverName,directory,fileName,bucket,cacheOption)
serverName 连接名称,若为空,则为服务器本地目录,必填;
directory 文件目录,必填;
fileName 文件名,必填;
bucket S3的存储空间(Bucket),非必填
cacheOption 是否在浏览器里缓存图片,默认是缓存图片,若不想缓存图片,值为false,非必填
imageLayout 图片布局,0:默认;1:平铺;2:拉伸;3:适应;非必填,若没有设置则使用单元格的图片布局
此函数用在单元格时,没有设置imageLayout时,显示图片的布局与<单元格属性>-<样式>-<图片布局>设置一致,如下图所示
提示:若设置<单元格属性>-<样式>-<图片布局>不生效,则使用imageLayout参数设置图片布局
例如:
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)
5)用函数显示服务器本地图片,在浏览器中不缓存图片,图片布局为拉伸
DELIGHT_IMAGE("","E:/test","demo.png","",false,2)
2、DELIGHT_FILE_EXISTS :判断文件是否存在,若存在则返回1,否则返回0
DELIGHT_FILE_EXISTS (serverName,directory,fileName,bucket)
serverName 连接名称,若为空,则为服务器本地目录,必填;
directory 文件目录,必填;
fileName 文件名,必填;
bucket S3的存储空间(Bucket),非必填
例如:
1)用函数判断服务器本地文件是否存在
DELIGHT_FILE_EXISTS("","E:/test","demo.png")
2)用函数判断FTP/SFTP服务器文件是否存在
DELIGHT_FILE_EXISTS("ftp1","/home/test","demo.png")
3)用函数判断S3服务器文件是否存在
DELIGHT_FILE_EXISTS("oss","/home/test","demo.png","oss-build")
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,密码为空
8.华为obs若无法连接可以用华为obs客户端测试一下,是否能够连接,
华为obs客户端下载地址: https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html
9.DELIGHT_IMAGE函数的<默认>图片布局和TOIMAGE函数的<默认>图片布局在调整单元格大小时有时会显示不一致,原因如下
1).TOIMAG是在<默认>图片布局设置下,生成生成单元格内容时,获取图片大小和单元格大小动态调整了图片在单元格内显示的布局,在报表生成结果内容比较耗费时间
2).DELIGHT_IMAGE是在报表生成结果内容后,再动态获取图片内容的,无法实现TOIMAG在<默认>图片布局时,动态调整图片布局功能,,但在报表生成结果内容时耗费时间比较短
5. 与其他插件功能对比
功能点 | 悦享版文件上传下载插件 | 上传下载文件插件(旧) | |
---|---|---|---|
填报自定义提交上传文件 | 支持 | 支持 | |
超级链接下载文件 | 支持 | 支持 | |
多个文件同时上传 | 支持 | 不支持 | |
多个文件同时下载 | 支持 | 不支持 | |
移动端文件下载 | 支持 | 不支持 | |
H5文件下载 | 支持 | 不支持 | |
控件事件进行文件上传 | 支持 | 只支持决策报表 | |
控件事件进行文件下载 | 支持 | 不支持 | |
填报动态计算文件下载 | 支持 | 不支持 | |
报表集群服务器 | 支持 | 不支持 | |
预览图片 | 支持 | 不支持 | |
自定义上传文件类型 | 支持 | 不支持 | |
存储类型 | 服务器本地目录 | 支持 | 支持 |
FTP | 支持 | 支持 | |
SFTP | 支持 | 不支持 | |
AWS S3 | 支持 | 不支持 | |
阿里云OSS | 支持 | 不支持 | |
华为云OBS | 支持 | 不支持 |