很多業務系統少不了需要進行文件管理,比如各種圖片、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