面向服務的體系結構(SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立於實現服務的硬件平台、操作系統和編程語言。這使得構建在各種各樣的系統中的服務可以使用一種統一和通用的方式進行交互。
本程序的文件管理采用文件分類的方式對文件進行管理,避免一個文件只能包含在一個文件夾中。使用文件分類的方式管理,文件可分為多個類別,也不屬於任何類別,提高文件管理靈活性。本文件管理服務處理大文件的分塊上傳、下載,可以實現文件的斷點續傳、下載功能。
文件管理服務使用VS2008 C# 開發的Web Service 程序。
文件分類方法包括:新增、修改、刪除及獲取文件分類。
方法名稱
方法說明
public SQReturnResult GetFileClassifyList()
說明:
獲取我的文件分類。成功返回:0;失敗返回:1;異常返回:-1。
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件分類數據表。Status不等於0時,Result 為失敗信息。
文件分類數據表結構:
字段名稱
字段類型
字段描述
UFClassifyId
bigint
文件分類標識
UFClassifyUserNo
String
用戶賬號
UFClassifyName
String
文件分類名稱
UFClassifyDesc
String
文件分類描述
public SQReturnResult InsertFileClassify(string pUFClassifyName, string pUFClassifyDesc)
新增文件分類。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFClassifyName:文件分類名稱
pUFClassifyDesc:文件分類描述
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件分類數據表。Status不等於0時,Result 為失敗信息。
public SQReturnResult UpdateFileClassify(long pUFClassifyId, string pUFClassifyName, string pUFClassifyDesc)
更新我的文件分類。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFClassifyId:文件分類標識
pUFClassifyName:文件分類名稱
pUFClassifyDesc:文件分類描述
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件分類數據表。Status不等於0時,Result 為失敗信息。
public SQReturnResult DeleteFileClassify(long pUFClassifyId, string pUFClassifyName)
刪除我的文件分類。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFClassifyId:文件分類標識
pUFClassifyName:文件分類名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為Ture。Status不等於0時,Result 為失敗信息。
public SQReturnResult CheckFileClassify(long pUFClassifyId, string pUFClassifyName)
檢查文件分類是否存在。不存在返回:0;存在返回:1;異常返回:-1。文件分類不允許重復,即提供此方法進行檢查。
輸入參數:
pUFClassifyId:文件分類標識
pUFClassifyName:文件分類名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為Ture。Status不等於0時,Result 為失敗信息。
文件分類方法包括:上傳文件、修改文件信息、刪除文件、下載文件、獲取所有文件、獲取已分類文件和獲取未分類文件列表。
方法名稱
方法說明
public SQReturnResult GetFileList()
獲取我的所有文件列表。返回前1000條文件信息
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件信息數據表。Status不等於0時,Result 為失敗信息。
文件分類數據列表結構:
字段名稱
字段類型
字段描述
UFileId
Bigint
文件信息標識
UFileUserNo
String
用戶賬號
UFileName
String
文件名稱
UFileDesc
String
文件描述
UFileLength
Bigint
文件大小
UFileType
String
文件類型
UFilePath
String
文件保存路徑
public SQReturnResult GetClassifyFileList(long pUFClassifyId)
獲取我的已分類文件列表。文件分類標識為0時,返回前1000條文件信息
輸入參數:
pUFClassifyId:文件分類標識。
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件信息數據表。Status不等於0時,Result 為失敗信息。
public SQReturnResult GetNoClassifyFileList()
獲取我的未分類文件列表。文件分類標識為0時,返回前1000條文件信息
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件信息數據表。Status不等於0時,Result 為失敗信息。
public SQReturnResult CheckFileInfo(long pUFileId, string pUFileName)
檢查文件是否存在。不存在返回:0;存在返回:1;異常返回:-1。
輸入參數:
pUFileId:文件標識
pUFileName:文件名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為True。Status不等於0時,Result 為失敗信息。
注:文件名稱不能重復。
public SQReturnResult InsertFile(string pUFileName, string pUFileDesc, byte[] pFileContent,long[]pUFClassifyIds)
新增我的文件信息。需先上傳文件內容。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileName:文件名稱
pUFileDesc:文件描述
pFileContent:文件內容
pUFClassifyIds:文件分類標識
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件信息數據表。Status不等於0時,Result 為失敗信息。
注意:當文件大於4MB時,需要將文件分塊上傳。
public SQReturnResult UploadFileByte(string pFileName, byte[] pFileContent, long pOffset)
上傳文件字節。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pFileName:文件名稱
pFileContent:文件字節
pOffset:文件保存位置
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為True。Status不等於0時,Result 為失敗信息。
public SQReturnResult InsertFileInfo(string pUFileName, string pUFileDesc, long[] pUFClassIds)
新增我的文件信息。需先上傳文件內容。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileName:文件名稱
pUFileDesc:文件描述
pUFClassifyIds:文件分類標識
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件信息數據表。Status不等於0時,Result 為失敗信息。
注意:當文件分塊上傳後時,新增文件信息。
public SQReturnResult UpdateFileInfo(long pUFileId, string pUFileName, string pUFileDesc)
更新我的文件信息。需先上傳文件內容。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileId:文件標識
pUFileName:文件名稱
pUFileDesc:文件描述
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件信息數據表。Status不等於0時,Result 為失敗信息。
public SQReturnResult ChangeFileClassify(long pUFileId, string pUFileName, long[] pUFClassifyIds)
調整我的文件分類。需先上傳文件內容。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileId:文件標識
pUFileName:文件名稱
pUFClassifyIds:文件分類標識
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為True。Status不等於0時,Result 為失敗信息。
public SQReturnResult GetFileClassify(long pUFileId)
獲取我的文件的文件分類。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileId:文件標識
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件分類標簽表。Status不等於0時,Result 為失敗信息。
文件分類標簽表結構
字段名稱
字段類型
字段描述
UFLabelClassifyId
Bigint
文件分類標識
public SQReturnResult DeleteFile(long pUFileId, string pUFileName)
刪除我的文件。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileId:文件標識
pUFileName:文件名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為True。Status不等於0時,Result 為失敗信息。
public SQReturnResult DownloadFile(string pFileName)
下載我的文件。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileName:文件名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件64位字符串。Status不等於0時,Result 為失敗信息。
注:當文件大於4MB時,需要采用分塊下載的方式。
public SQReturnResult GetFileInfo(string pFileName)
獲取我的文件信息。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileName:文件名稱
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為單行文件信息表。Status不等於0時,Result 為失敗信息。
public SQReturnResult DownloadFileByte(string pFileName, long pOffset, int pDownLength)
下載我的文件字節。分塊下載,分塊控制在1MB內。成功返回:0;失敗返回:1;異常返回:-1。
輸入參數:
pUFileName:文件名稱
pOffset:下載文件內容起始位置
pDownLength:下載文件大小
返回參數:
SQReturnResult:返回結果類。包含:Status(狀態)和Result(結果)兩屬性。Status等於0時,Result為文件64位字符串。Status不等於0時,Result 為失敗信息。
未完持續。。。