PowerDotNet平臺化軟件架構設計與實現系列(10):文件平臺

很多業務系統少不了需要進行文件管理,比如各種圖片、excel、pdf、壓縮包等等,爲了高度可複用,我們抽象出文件平臺,加強對文件進行管理。

PowerDotNet文件平臺目前支持阿里雲OSS、FastDFS和本地文件服務器三種上傳存儲類型。

根據我前面文章介紹數據庫、緩存、隊列等公共服務平臺的一貫風格,文件平臺也是隻要在管理後臺點一點,引入公共服務文件上傳必要組件,一個應用就可以輕鬆實現文件管理主要功能,包括(同步或異步)上傳、查看、刪除、定時自動上傳等。

在PowerDotNet中,目前文件平臺已經被默認使用於PowerDotNet實現的支付平臺、財務平臺、HCRM(人員管理)和PCRM(個人用戶管理)中,後續有空再簡單介紹下這些業務平臺系統。

環境準備

1、(必須).Net Framework4.5+

2、(必須)關係型數據庫MySQL或SqlServer或PostgreSQL或MariaDB四選一

3、(必須)PowerDotNet數據庫管理平臺,主要使用DBKey功能

4、(必須)PowerDotNet配置中心Power.ConfigCenter

5、(必須)PowerDotNet註冊中心Power.RegistryCenter

6、(必須)PowerDotNet緩存平臺Power.Cache

7、(必須)PowerDotNet消息平臺Power.Message

8、(必須)PowerDotNet基礎數據平臺Power.BaseData

9、(必須)PowerDotNet人員管理平臺Power.HCRM,後續文章詳細介紹

10、(必須)阿里雲OSS或FastDFS或本地文件服務器,用於存儲文件

一、文件存儲配置

在平臺管理後臺,可以輕鬆添加文件存儲配置,比如OSS、FastDFS和本地文件等。

你可以按需進行配置,比如OSS或者FastDFS(當然FastDFS被譽爲配置最繁瑣的開源項目就是另一個話題了,只要親自部署一遍就會體會^_-,咩哈哈)

或者上古時期也比較常見的自己搭建本地文件服務器

文件配置支持按照多租戶或多商戶的方式配置多個,非常利於擴展。

文件配置設置好以後,通過和應用或者系統的綁定關係:

這樣我們的應用就可以使用文件平臺提供的文件管理功能了,是不是so easy?

二、文件管理

應用使用文件平臺提供的公共服務組件,輕鬆實現圖片、pdf、壓縮包等文件的自動上傳功能,業務系統只要在自己的系統保留業務編號和文件平臺的主鍵關係,可以調用文件平臺公共的查詢API輕鬆實現文件查看等功能。

1、上傳文件管理

2、文件預覽

通常特定格式的文件上傳後都支持直接在瀏覽器裏預覽,比如圖片、pdf、excel等格式的文件,當然我還單獨爲圖片開發簡易圖片預覽功能。

3、上傳補償

支持針對特殊情況進行文件上傳補償,比如業務數據變化導致文件需要更新、文件上傳很久數據遷移丟失等。

 文件平臺還支持特定領域一些特殊業務邏輯,如通過OCR組件生成文件異步上傳、文件錯誤重試、按模板自動生成文件等功能,這個不是本文重點,我個人用.NET和Java都開發過,順帶一提,咩哈哈。

參考:

https://help.aliyun.com/document_detail/31817.html

https://github.com/aliyun/aliyun-oss-csharp-sdk

https://github.com/aliyun/alibabacloud-csharp-sdk

https://github.com/happyfish100

https://www.cnblogs.com/dubing/archive/2012/01/09/2316903.html

https://www.cnblogs.com/Leo_wl/p/6731647.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章