1. 概述
1.1 版本說明
報表服務器版本 | JAR 包版本 | HTML5 移動端展現插件版本 | App 版本 | 功能變動 |
---|---|---|---|---|
10.0.13 | 2021-01-25 | 10.4.976 | 10.4.976 | 移動端支持顯示可供下載的鏈接,且可以直接點擊下載文件 PC 端所有預覽方式都支持顯示可供下載的鏈接 |
1.2 應用場景
FineReport 上傳文件是以二進制編碼形式保存到數據庫表中的。
如果文件是圖片,将存文件的字段拖入單元格後,前端預覽時會直接顯示圖片。
但是如果文件是其他類型,将存文件字段拖到單元格後,前端預覽時顯示的是二進制編碼,如下圖所示:
那麽如何讓圖片和二進制文件在預覽時,可以統一顯示時成可供下載的鏈接呢?效果如下圖所示:
1.3 實現思路
選中文件字段所在單元格,單元格屬性的「其他」設置項下。
将「顯示内容」設置爲「用下載鏈接顯示二進制内容」,如下圖所示:
2. 示例
2.1 數據準備
示例并沒有使用内置的數據庫 FRDemo,因爲該數據庫不支持二進制編碼。
此處使用 MySQL 進行演示,新建普通報表,新建數據集,查詢出表 file 中的内容添加到數據集,如下圖所示:
表 file 中有 2 個字段,文件名字段是字符串類型,存放文件的名稱;文件字段是 blob 類型,存放的文件的二進制編碼,如下圖所示:
注:存放文件的字段一定要設置成 blob 類型的。
2.2 設計表格
如下圖設計表格,将 2 個字段分别拖入到 A2、B2 單元格中。
2.3 設置顯示内容
選中 B2 單元格,将單元格屬性「其他」下的顯示内容設置爲「用下載鏈接顯示二進制内容」,下載文件名填入「=A2」,如下圖所示:
注:設置「下載文件名」是爲了下載後讓文件可以顯示出想要的名字,如果不設置,那麽下載後就是一個名爲 download.zip 的壓縮包。
2.4 效果預覽
PC 端
保存報表,選擇任意一種預覽方式,效果如下圖所示,可以直接點擊鏈接下載文件。
移動端
同時支持 App 端和 H5 端預覽,移動端顯示和下載的效果如下圖所示: