# 文件存储

应用中需要的静态文件资源管理，如图片、pdf 等。开发者可以在此处对文件进行管理。也可以在数据表中内嵌文件字段。知晓云的文件管理内置了 CDN 加速。

## 相关概念

使用文件服务前，你需要了解以下概念。

CDN：**CDN** 的全称是Content Delivery Network，即内容分发网络。 **CDN**是构建在现有网络基础之上的智能虚拟网络，依靠部署在各地的边缘服务器，通过中心平台的负载均衡、内容分发、调度等功能模块，使用户就近获取所需内容，降低网络拥塞，提高用户访问响应速度和命中率。 **CDN**的关键技术主要有内容存储和分发技术。

## 基础操作

### 添加文件分类

![添加文件分类](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-6f74cf876aaf671799efe5b45612c8dd85d2ab2f%2Fadd-file-classify.png?alt=media)

由于目前暂不支持移动已上传文件的文件分类，所以在上传文件之前，建议开发者先新建文件分类。点击「添加分类」按钮，输入文件分类名字即可完成新建文件分类。

如需编辑或删除文件分类，请将光标移动到对应文件分类上，点击对应图标即可完成对应操作。`删除文件分类并不会删除该文件分类下的文件`。

### 上传文件

![上传文件](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-e6c1c24b1e50b37272657777bd235544ff65054f%2Fupload-file.png?alt=media)

点击所要上传文件所属的文件分类，点击「上传文件」按钮, 选择本地资源完成文件上传。资源文件上传支持单文件上传或者批量上传。

`特定的文件类型暂时不允许上传，如 htm | html | xhtml | asp | aspx | php | jsp 。`

![上传文件](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-a12eef3db0ed79c08aeb30e54d5b04065bd51cec%2Ffile-list.png?alt=media)

上传成功后在列表第一行即可看到最新上传成功的文件基本信息。点击缩略图或者文件路径栏目下「链接」即可下载该资源文件。如需该资源网络地址，请点击文件路径栏目下「链接」侧的「复制」图标按钮，即可复制到粘贴板。

### 删除文件

![删除文件](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-9f4489dbf5f486f9e44d18b33c67f2a562ed36e8%2Fdelete-file.png?alt=media)

删除文件时，首先需要选中所需删除的文件，然后点击「删除」按钮即可。删除文件支持批量删除。

### URL 作图

知晓云支持通过 URL 访问图片时，对图片进行处理，并把处理后的图片返回，使用说明详见[帮助文档](http://support.minapp.com/hc/kb/article/1082737/)。

### 刷新 CDN

![刷新 CDN](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-0100415c549a01f0610cd1687ddd55abca8694de%2Frefresh-cdn.png?alt=media)

当 CDN 的资源文件缓存过期之后会回源获取文件并缓存，但是这是一个被动更新的过程，资源更新受限于缓存过期时间。当源站资源更新之后需要快速回源下发到 CDN 节点时，可以使用缓存刷新功能来实现，这是一种主动更新的方式。

### CDN 访问控制

![CDN 访问控制](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-60a7ce51240a3aa2ef4c4ab98c8683d027650494%2Fcdn-control.png?alt=media)

文件 CDN 支持设置 Referer 防盗链。基于 HTTP 协议的 referer 机制，通过 referer 跟踪来源，对来源进行识别和判断，实现原理就是通过 HTTP 请求 Header 中的 referer 字段的值来设置过滤策略，默认情况下，防盗链未启用，无黑/白名单。除此之外，支持允许 referer 为空和禁止 referer 为空的设置，默认情况下，允许 referer 为空。

白名单：仅允许名单中的域名网站访问文件，其他域名网站都不允许访问。

黑名单：仅禁止名单中的域名网站访问文件，其他域名网站都允许访问。

### CDN 访问分析

![CDN 访问分析](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-a6599820e00f6276f1ffccd31fb0501a8d994b44%2Fcdn-analysis.png?alt=media)

开发者可以根据地区、运营商等维度查看域名及服务最近 30 天的访问趋势及详细统计数据。
