IAzureBlobDBRepository.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using TEAMModelOS.SDK.Module.AzureBlob.Container;
  2. using Microsoft.AspNetCore.Http;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. using System.IO;
  6. using Microsoft.WindowsAzure.Storage.Blob;
  7. using TEAMModelOS.SDK.Module.AzureBlob.Configuration;
  8. namespace TEAMModelOS.SDK.Module.AzureBlob.Interfaces
  9. {
  10. public interface IAzureBlobDBRepository
  11. {
  12. Task<List<AzureBlobModel>> UploadFiles(IFormFile[] file ,string fileSpace="common" ,bool contentTypeDefault = false);
  13. Task<AzureBlobModel> UploadFile(IFormFile file, string fileSpace = "wordfiles", bool contentTypeDefault = true);
  14. Task<AzureBlobModel> UploadPath(string path, string fileSpace = "common", bool contentTypeDefault = false);
  15. Task<AzureBlobModel> UploadObject(string fileName, object obj, string fileSpace = "common", bool contentTypeDefault = true);
  16. Task<AzureBlobModel> UploadText(string fileName, string text, string fileSpace = "common", bool contentTypeDefault = true);
  17. Task<AzureBlobModel> UploadFileByFolder(Stream fileSteam, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true);
  18. Task<AzureBlobModel> UploadTextByFolder(string text, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true);
  19. AzureBlobModel UploadFileByFolderNAsyn(Stream fileSteam, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true);
  20. Task<string> GetBlobSasUri(string blobName, string containerName=null, string policyName = null);
  21. Task<string> GetBlobSasUriRead(string containerName, string blobName, string policyName = null);
  22. Task<(string, string, string)> GetContainerSasUri(string containerName=null, string policyName = null);
  23. Task<(string, string)> GetContainerSasUriRead(string containerName, string policyName = null);
  24. Task<bool> CreateSharedAccessPolicyAsync(string policyName , string containerName = null);
  25. Task DeleteSharedAccessPolicyAsync(string policyName, string containerName = null);
  26. Task Deleteblob(string sasUri);
  27. Task<List<BlobFileDto>> GetBlobDirectory(string containerName, string blobName);
  28. Task<Dictionary<string, object>> GetBlobSasUri(BlobSas blobSas,bool isRead);
  29. Task<KeyValuePair<string, object>> GetContainerSasUri(BlobSas blobSas, bool isRead);
  30. }
  31. }