跳轉到

檔案

一般文件

取得資料夾內文件清單

功能限制說明

URL 相關欄位:

  • 🚫 尚未支援轉換為完整的可存取 URL
  • 💡 如有其他開發用途需求,請提出使用情境並聯繫我們進行評估擴充

文件清單功能範圍:

  • 取得資料夾內文件清單 功能目前主要用於批次上傳文件工具

取得文件下載連結

  • 至文件中心透過「分享連結」功能產生下載連結

Image

命名空間: Ede.Uofx.OpenApi.Sdk.NetStd.Service

方法名稱: UofxService.DMS.Doc.GetFolderContent

var 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.CheckDocDuplication

var 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

var filePath = "/資料夾A/資料夾C/sample1.pdf";
await UofxService.DMS.Doc.DeleteDoc(new DeleteDocReqModel()
{
  RootFolderCode = "rootCode",
  FolderPath = folderPath,
});

輸入參數

命名空間: 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

var folderPath = "/資料夾A/資料夾C"; //預計要上傳的資料夾路徑
await UofxService.DMS.ISO.Doc.GetNewDocRule(new GetNewDocRuleReqModel()
{
  RootFolderCode = "rootCode",
  FolderPath = folderPath
});

輸入參數

命名空間: 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

var folderPath = "/資料夾A/資料夾C"; //預計要上傳的資料夾路徑
await UofxService.DMS.ISO.Doc.GetCurrentDocRule(new GetCurrentDocRuleReqModel()
{
  RootFolderCode = "rootCode",
  FolderPath = folderPath,
  DocName = "Sample"
});

輸入參數

命名空間: 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

var folderPath = "/資料夾A/資料夾C"; //文件的資料夾路徑
await UofxService.DMS.ISO.Doc.Cancel(new CancelDocReqModel()
{
  RootFolderCode = "rootCode",
  FolderPath = folderPath,
  DocName = "sample",
  Reason = "原因"
});

輸入參數

命名空間: 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

var folderPath = "/資料夾A/資料夾C"; //文件的資料夾路徑
await UofxService.DMS.ISO.Doc.Destroy(new DestroyDocReqModel()
{
  RootFolderCode = "rootCode",
  FolderPath = folderPath,
  DocName = "sample",
  Reason = "原因"
});

輸入參數

命名空間: Ede.Uofx.OpenApi.Sdk.NetStd.Models.Dms

物件名稱: DestroyDocReqModel

屬性 型態 必填 預設值 說明
RootFolderCode string V 文件庫(根目錄資料夾)的代碼
FolderPath string V 資料夾的路徑,ex: folder1/folder2
DocName string V 文件名稱
Reason string V 原因