檔案
一般文件¶
取得資料夾內文件清單¶
功能限制說明
URL 相關欄位:
- 🚫 尚未支援轉換為完整的可存取 URL
- 💡 如有其他開發用途需求,請提出使用情境並聯繫我們進行評估擴充
文件清單功能範圍:
取得資料夾內文件清單功能目前主要用於批次上傳文件工具
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.Doc.GetFolderContentvar folderPath = "/資料夾A/資料夾C"; //資料夾路徑 var pageSetting = new PageRequestModel() { Order = ListOrder.ModifiedDate, By = OrderBy.Descending, Page = 1, Size = 10 } var content = await UofxService.DMS.Doc.GetFolderContent(new GetFolderDetailReqModel() { RootFolderCode = "rootCode", FolderPath = folderPath, PageOptions = pageSetting });
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
GetFolderDetailReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| PageOptions | PageRequestModel |
V | 分頁設定 |
回傳結果
回傳的結果同時包含 分頁資訊 和 分頁文件內容:
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models物件名稱:
SearchByPage<T>
| 屬性 | 型態 | 說明 |
|---|---|---|
| PageInfo | PageInfoModel | 分頁資訊 |
| Items | IEnumerable<FolderDetailResponseModel> |
分頁內容 |
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
FolderDetailResponseModel
| 屬性 | 型態 | 說明 |
|---|---|---|
| Document | DocDocumentResponseModel |
文件 |
| Editor | EditorModel |
最後修改者 |
| ModifiedDate | DateTimeOffset |
修改時間 |
| AllowDelete | bool |
是否可刪除 |
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
DocDocumentResponseModel
| 屬性 | 型態 | 說明 |
|---|---|---|
| Id | Guid |
文件 ID |
| File | FileDetailViewModel |
檔案詳細內容 |
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
FileDetailViewModel
| 屬性 | 型態 | 說明 |
|---|---|---|
| Id | Guid |
檔案 fileId |
| FileName | string |
檔案名稱 |
| Length | long |
檔案大小 |
| ContentType | string |
content type |
| IsFromCad | bool |
是否從為 cad 檔案上傳 |
檢查是否有同名的檔案¶
上傳文件前,可以先檢查是否有同名文件,好採取對應策略,透過以下方式可以檢查在資料夾中,是否有同名的檔案:
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.Doc.CheckDocDuplicationvar folderPath = "/資料夾A/資料夾C"; //資料夾路徑 var duplication = await UofxService.DMS.Doc.CheckDocDuplication(new CheckDocDuplicationReqModel() { RootFolderCode = "rootCode", FolderPath = folderPath, DocumentNames = new List<string>() { "sample.pdf" } }); if (duplication) Console.WriteLine("檔名重複"); else Console.WriteLine("檔名沒有重複");
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
CheckDocDuplicationReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| DocumentNames | List<string> |
V | 檢查的檔名清單 |
回傳結果
回傳資料型態為 bool,您可以將同批要上傳的文件全部名稱一起檢查,只要有其中一個檔名已經存在,就會回傳 true。
上傳文件¶
上傳文件需要先透過上傳涵式 (UofxService.File.FileUpload) 將文件上傳,然後再搬移到資料夾中:
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.Doc.UploadDoc在這需指定檔名重複的處置方式 (// 上傳檔案 var file1 = await UofxService.File.FileUpload(@"D:\sample\sample.pdf"); // 將檔案移動到資料夾 var folderPath = "/資料夾A/資料夾C"; //資料夾路徑 await UofxService.DMS.Doc.UploadDoc(new UploadDocReqModel() { RootFolderCode = "rootCode", FolderPath = folderPath, DuplicateAction = DocumentDuplicateAction.Replace, Documents = new List<FileViewModel>() { file1 } });DocumentDuplicateAction),您可以選擇取代(Replace)或重新命名(Rename)。
如果您選擇重新命名,則遇到重複檔名時將會在檔名結尾自動加上 (1),例如 sample.pdf 會變成 sample(1).pdf。
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
UploadDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| DuplicateAction | enum DocumentDuplicateAction |
V | 檔名重複時的處置方式 | |
| Documents | List<FileViewModel> |
V | 要上傳的檔案 |
上傳到根目錄
如果要上傳到根目錄(文件庫),則資料夾路徑 (FolderPath) 設定為 / 即可。
檔案上傳限制
檔案上傳時會受限於系統管理員設定的 單一檔案大小限制,如果上傳的文件庫是 AI 文件庫,則檔案類型僅限制為 .pdf .pptx .docx .odt .odp。
刪除文件¶
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.Doc.DeleteDoc
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
DeleteDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| FileName | string |
V | 文件名稱 |
管制文件¶
取得資料夾版本規則資訊¶
文件上傳前,可透過此 API 取得目的資料夾的文件編號、版號等規則資訊
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.GetNewDocRule
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
GetNewDocRuleReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 |
回傳結果
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
FolderRuleResponseModel
| 屬性 | 型態 | 說明 |
|---|---|---|
| DocSerialRule | int |
文件編號規則 (0:依資料夾, 1:自行編號) |
| DocVerRule | int |
文件版號規則 (0:依資料夾, 1:自行編號) |
| ExpectedVersion | string |
預計版號 |
| AllowCustomVer | bool |
允許保管者自訂版本號。如果 DocVerRule 為 0,而此屬性為 true 時,仍然可以在新增文件時給予版號 |
取得已上傳文件版本規則資訊¶
文件上傳版更前,可透過此 API 取得文件編號、版號等規則資訊
注意: 文件第一次上傳後,文件編號、版號就會依當下的規則延續到之後所有的版更
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.GetCurrentDocRule
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
GetCurrentDocRuleReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| DocName | string |
V | 文件名稱 |
回傳結果
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
DocRuleResponseModel
| 屬性 | 型態 | 說明 |
|---|---|---|
| DocSerialRule | int |
文件編號規則 (0:依資料夾, 1:自行編號) |
| DocVerRule | int |
文件版號規則 (0:依資料夾, 1:自行編號) |
新增文件¶
新增文件需要先透過上傳涵式 (UofxService.File.FileUpload) 將文件上傳,然後再搬移到資料夾中:
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.Add// 上傳檔案 var fileModel = await UofxService.File.FileUpload(@"D:\sample\sample.pdf"); // 放進管制文件中 var folderPath = "/資料夾A/資料夾C"; //預計要上傳的資料夾路徑 await UofxService.DMS.ISO.Doc.Add(new AddIsoDocReqModel() { UploadBy = UserModel.Create(UserType.Account, "Justin") RootFolderCode = "rootCode", FolderPath = folderPath, Document = fileModel, IsCADFile = false, DocProperty = new AddDocPropertyModel() });
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
AddIsoDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| UploadBy | UserModel | V | 上傳者,此帳號必須有此管制文件庫的管理者權限 | |
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| Document | FileViewModel |
V | 要上傳的檔案 | |
| IsCADFile | bool |
false | 是否為 AutoCad 檔案。 填 true 則檔案會自動轉成可線上瀏覽格式 (UOFX系統需開啟 Cad 轉檔功能) |
|
| DocProperty | AddDocPropertyModel |
V | 文件的屬性設定 |
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
AddDocPropertyModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| Name | string |
文件名稱,如果沒給文件名稱,則以上傳的檔案名稱為文件名稱 | ||
| DocSerial | string |
文件編號,只有允許自行編號時,設定此欄位才有效 | ||
| DocVerRule | int |
0 | 文件版號規則 (0:依資料夾, 1:自行編號),只有允許自行編號時,設定此欄位才有效,一旦第一次上傳後此文件將永遠套用此規則 | |
| DocVersion | string |
文件版號,如果 DocVerRule 是自行編號時,可以設定此欄位指定版號 | ||
| PublishDept | string |
發行單位 | ||
| ApplyDept | string |
適用單位 | ||
| StartTime | DateTimeOffset? |
生效日 | ||
| EndTime | DateTimeOffset? |
到期日 | ||
| Summary | string |
文件摘要 | ||
| Memo | string |
版本備註 |
更新文件版本¶
更新文件版本需要先透過上傳涵式 (UofxService.File.FileUpload) 將文件上傳,然後再搬移到資料夾中:
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.Update// 上傳檔案 var fileModel = await UofxService.File.FileUpload(@"D:\sample\sample.pdf"); // 放進管制文件中 var folderPath = "/資料夾A/資料夾C"; //預計要上傳的資料夾路徑 await UofxService.DMS.ISO.Doc.Update(new UpdateIsoDocReqModel() { UploadBy = UserModel.Create(UserType.Account, "Justin") OriginalDocName = "sample", RootFolderCode = "rootCode", FolderPath = folderPath, Document = fileModel, IsCADFile = false, DocProperty = new UpdateDocPropertyModel() });
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
UpdateIsoDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| UploadBy | UserModel | V | 上傳者,此帳號必須有此管制文件庫的管理者權限 | |
| OriginalDocName | string |
V | 原始文件名稱 | |
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| Document | FileViewModel |
V | 要上傳的檔案 | |
| IsCADFile | bool |
false | 是否為 AutoCad 檔案。 填 true 則檔案會自動轉成可線上瀏覽格式 (UOFX系統需開啟 Cad 轉檔功能) |
|
| DocProperty | UpdateDocPropertyModel |
V | 文件的屬性設定 |
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
UpdateDocPropertyModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| Name | string |
文件名稱,如果沒給文件名稱,則以上傳的檔案名稱為文件名稱 | ||
| DocSerial | string |
文件編號,只有此文件為自行編號時,設定此欄位才有效 | ||
| DocVersion | string |
文件版號,只有此文件為自行編號時,設定此欄位才有效 | ||
| PublishDept | string |
發行單位 | ||
| ApplyDept | string |
適用單位 | ||
| StartTime | DateTimeOffset? |
生效日 | ||
| EndTime | DateTimeOffset? |
到期日 | ||
| Summary | string |
文件摘要 | ||
| Memo | string |
版本備註 |
作廢¶
文件作廢後無法復原,且「讀者」將無法再存取該文件
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.Cancel
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
CancelDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| DocName | string |
V | 文件名稱 | |
| Reason | string |
V | 原因 |
銷毀¶
文件銷毀後無法復原,且所有使用者將無法再存取該文件
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Service方法名稱:
UofxService.DMS.ISO.Doc.Destroy
輸入參數
命名空間:
Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms物件名稱:
DestroyDocReqModel
| 屬性 | 型態 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|
| RootFolderCode | string |
V | 文件庫(根目錄資料夾)的代碼 | |
| FolderPath | string |
V | 資料夾的路徑,ex: folder1/folder2 | |
| DocName | string |
V | 文件名稱 | |
| Reason | string |
V | 原因 |
