背景问题:
近日与到公司进行技术交流的集成商客户讨论问题时,客户提出了一个怎么利用润乾报表实现附件的上传、下载的需求,之前也利用润乾的演示平台演示过怎么上传、下载一张图片,相关的润乾手册也是写得非常详细,但是上传、下载一个非图片附件相关手册倒是没有详细介绍,这里就实际做一个简单的小例子介绍一下利用润乾强大的填报功能实现的任意文件类型的上传、下载功能。
解决方案:
1、建立物理表,保存文件:
首先本地使用ORACLE数据库建一个张物理表:
– Create table
create table BLOB
(
SYSID VARCHAR2(100),
NAMEVARCHAR2(100),
BLOBBLOB
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
【说明:】
SYSID字段用于唯一标识主键,NAME字段存储附件名称,BLOB字段存储附件文件。这里要注意:如果存储文件,请将存储该文件的字段设置为BLOB,否则本地报错,可以保存但查询出错。
2、使用润乾报表设计器新建填报报表模板,截图如下:
下面是具体填报数据设置:
(1)B2:=ds1.NAME设置B2单元格可写,编辑风格选择“上载文件”,
(2)点击编辑风格的“设置”按钮,进入上载文件属性设置,本例需要实现上传下载*.doc和*.xls文件,所以添加该两种类型文件后缀名,在“上下载权限”选择设置“上下载均可”选项,并且在“保存文件名的列名”设置“name”值。
该处表明,允许上传和下载文件,并且将上传的附件名称保存到对应的物理表中已经建立好存储其附件名称的“NAME”字段中。在oracle中不区分大小写。
(3)在B2单元格填报属性,设置填报报表的更新属性,其中B2单元格设置显示值=ds1.NAME,更新属性指定主键和存储附件的BLOB字段即可,不需要设置name字段,润乾后台会自动将附件名保存至NAME字段。
至此,一个可以上传、下载*.doc和*.xls文件功能的填报表表制作完成。
3、运行填报表截图如下:
(1)页面展现截图:
此时,可以双击B2单元格继续上传下载文件操作了。
(2)数据库存储截图: