---
order: 49
navTitle: 下载文件
---
# SuperPage交互-下载文件

使用**下载文件**交互可以下载图片、PDF、Word、视频、音频类等资源文件。如点击下载按钮，即可下载相关文件资源：
![下载文件](./images/download-files1.gif)
示例地址：[下载文件](https://demo.succbi.com/v5/demo-spg/%E9%99%84%E4%BB%B6%E9%A2%84%E8%A7%88)

## 使用下载文件交互{#use}

使用**下载文件**交互需要搭配载体组件，除使用[按钮](../../components/common/button.md)组件外，也可将该交互附于其他浮动展示数据的组件上，浮动出来的每行数据都会带有交互动作，如[列表](../../components/data/list.md)、[浮动面板](../../components/layout/floatpanel.md)。

以列表为例介绍下载文件交互的使用方法，实现点击下载按钮，下载相关文件资源：
![使用交互](./images/download-files2.gif)

1. **添加下载文件交互**：在列表的操作列的**下载**按钮添加**下载文件**交互
2. **设置交互属性**：文件来源选择`数据集`，数据选择`上传附件_富文本`，附件字段选择`存储路径`

## 文件来源设置{#source}

系统内部提供了两种文件的存储方式，可以参考[上传附件](../../components/input/upload.md#store)文档，除了来自系统内部之外，还可以是外网中的资源，均可以使用该交互实现文件的下载，相关属性设置可以参考[预览文件](./show-files.md#source)文档。

## 设置打包成ZIP{#zip}

**下载文件**交互支持下载对应的**ZIP文件**，需要进行如下属性设置：

1. **打包成ZIP**：勾选即可下载对应的ZIP文件，当下载多个文件资源时，不管是否勾选都自动打包成ZIP文件
2. **ZIP文件名**：默认名为元数据中的名称，也可以自定义ZIP文件的名称，支持写表达式

## 下载多个文件资源{#multiple}

**下载文件**交互可以一次性下载多个文件资源，实现思路如下：

1. 相关组件添加**下载文件**交互
2. 文件来源：不同的来源方式设置不同
   - 来自数据集的文件：数据集返回的是多条数据，且设置**数据范围**为当前查询结果
   - 自定义文件地址：多个文件地址使用换行符分割

如点击**下载多个文件**按钮，即可下载相应ZIP文件：
![下载多个文件](./images/download-files3.gif)
