Previous topicNext topic
Help > 使用指南 > 常用表功能 > 列扩展功能 > 图片文件管理 >
设计思路

 

在开发一个数据管理系统过程中,难免会遇到一些需要保存管理图片、文件的场景。这么一个常用的功能我们当然要做一个通用的模块来解决这个问题。文件管理根据使用场景不同,各种方案的优缺点也不同,我们提供了以下几种方案:支持本地存储、FTP存储、数据库存储、OSS存储。

本地存储:

优点:

1、文件只在电脑本机或者映射的网盘上。

2、访问文件速度比较快。无需重复下载、缓存。

缺点:

1、更适合一些单机项目。在网络项目中使用时,需要人为地去配置客户端电脑的运行环境,保证所有人都能访问到相同的映射盘符。

2、本地存储的相关路径设置都是跟最终客户端的电脑配置环境强相关的。相同的软件可能因为电脑运行环境不一致而不一定能够正常运行。

适合场景:

1、单机项目,用来维护自己本机电脑中的文件。

2、大文件管理,不需要通过网络来回拷贝文件。

3、拥有自己的文件服务器,需要和同事一起共享共享盘中的文件。

 

FTP存储

优点:

1、只需要配置一下访问FTP服务器的账号密码即可。软件对电脑的运行环境要求较少,软件兼容性强(对比本地存储而言)。

2、使用简单。

缺点:

1、文件明文传输,安全性较差。

2、大文件传输对服务器、网络要求较高。

3、文件、图片的查看、预览都要先下载到本地才能够进行。在本地会留有缓存文件,在一些保密要求比较高的场景不适合。

4、缓存文件会越来越多。

适合场景:

1、对安全性要求不高,对软件易用度有要求,不希望后期维护麻烦的场景。

2、有自己的FTP服务器。

 

数据库存储

优点:

1、无需过多的配置。软件对电脑的运行环境要求较少,软件兼容性强(对比本地存储而言)。

2、使用简单。

缺点:

1、大文件传输对服务器、网络要求较高。如果访问量比较高、文件比较大的话会拖垮数据库服务器(请三思)。

2、文件、图片的查看、预览都要先下载到本地才能够进行。在本地会留有缓存文件,在一些保密要求比较高的场景不适合。

3、缓存文件会越来越多。

适合场景:

1、管理一些访问量不高、文件大小非常小的图片、文件。

 

OSS存储

优点:

1、只需要配置一下访问OSS存储的相关信息即可。软件对电脑的运行环境要求较少,软件兼容性强(对比本地存储而言)。

2、使用简单。

3、文件上传、下载速度快!

缺点:

1、文件、图片的查看、预览都要先下载到本地才能够进行。在本地会留有缓存文件,在一些保密要求比较高的场景不适合。

2、缓存文件会越来越多。

3、上传、下载会产生额外的流量费用。

适合场景:

1、对图片、文件浏览的速度有要求的场景。

前提

因为图片、文件管理除了本地存储外,大多数都是需要将相应的文件下载到本地再预览或打开的,所以我们需要在使用之前到“系统选项”中设置一下各种存储的缓存路径。这里设置的目录都是针对项目文件的相对路径。

他们一般都设置在项目目录下的“Attachments”目录下。

主要开发思路

FTP、数据库、OSS存放图片与文件时都有一个文件清单进行维护,同一个文件不会多次上传(如果发现MD5值一样的文件就认为是同一个文件)。同一个文件有一个记录使用总次数的属性,每上传一次应付在使用次数上增加一次,每删除一次应会在使用次数上再减一次,当使用次数为0时,标记文件为删除状态(并不真正删除文件)。

图片如果需要预览显示的话,会被先下载到“系统选项”中设置的临时目录,然后再显示出来。我们可以通过“扩展列类型”中的“FilesManager”和“ImagesManager”来实现在表中或绑定控件中对文件和图片进行增删改查。然后通过“显示图片”来实现在表单元格中显示预览图片。

常见设置示例:

1、本地存储

2、FTP存储

3、数据库存储

4、OSS存储