反馈已提交

网络繁忙

二进制文件显示成可下载的链接

  • 文档创建者:lu123
  • 编辑次数:12次
  • 最近更新:Catqiu 于 2021-11-19
  • 1. 概述

    1.1 版本说明

    报表服务器版本
    11.0

    1.2 应用场景

    FineReport 上传文件是以二进制编码形式保存到数据库表中的。

    如果文件是图片,将存文件的字段拖入单元格后,前端预览时会直接显示图片。

    但是如果文件是其他类型,将存文件字段拖到单元格后,前端预览时显示的是二进制编码,如下图所示:

    那么如何让图片和二进制文件在预览时,可以统一显示时成可供下载的链接呢?效果如下图所示:


    1.3 实现思路

    选中文件字段所在单元格,单元格属性的「其他」设置项下。

    将「显示内容」设置为「用下载链接显示二进制内容」,如下图所示:

    Snag_1a05850f.png

    2. 示例

    2.1 数据准备

    示例并没有使用内置的数据库 FRDemo,因为该数据库不支持二进制编码。

    此处使用 MySQL 进行演示,新建普通报表,新建数据集,查询出表 file 中的内容添加到数据集,如下图所示:

    Snag_1a1a966e.png

    表 file 中有 2 个字段,文件名字段是字符串类型,存放文件的名称;文件字段是 blob 类型,存放的文件的二进制编码,如下图所示:

    注1:因为是 SQLite 数据库,存放文件的字段一定要设置成 blob 类型的。

    注2:MySQL 和 Oracle 需要将字段设置为 blob 类型,SQL Server 数据库需要设置为 image 类型。

    Snag_1a1e048b.png

    2.2 设计表格

    如下图设计表格,将 2 个字段分别拖入到 A2、B2 单元格中。

    2.3 设置显示内容

    选中 B2 单元格,将单元格属性「其他」下的显示内容设置为「用下载链接显示二进制内容」,下载文件名填入「=A2」,如下图所示:

    注:设置「下载文件名」是为了下载后让文件可以显示出想要的名字,如果不设置,那么下载后就是一个名为 download.zip 的压缩包。

    2.4 效果预览

    2.4.1 PC 端

    保存报表,选择任意一种预览方式,效果如下图所示,可以直接点击链接下载文件。

    Snag_1a298de9.png

    2.4.2 移动端

    App 和 H5 端预览,移动端显示和下载的效果如下图所示:

    1611027021473986.gif

    附件列表


    主题: 报表应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭