Բովանդակություն

Ներածություն

IStorageService դասը նախատեսված է ծրագրի աշխատանքի ընթացքում ձևավորվող ժամանակավոր ֆայլերի պահպանման և բեռնման համար։ Համակարգը կարող է կարգավորվել այնպես, որ ֆայլերի պահպանում կատարվի կա՛մ ֆայլային համակարգում, կա՛մ ամպային պահոցում։

Կարգավորվում է appsettings.json կոնֆիգուրացիոն ֆայլի Storage բաժնում։

Հատկություններ

Container

public string Container { get; }

Վերադարձնում է այն կոնտեյների/թղթապանակի անունը, որտեղ պահվում են ընթացիկ սեսիայի ժամանակավոր ստեղծվող ֆայլերը։

Եթե ֆայլերը պահվում են ֆայլային համակարգում, ապա սեսիայի ժամանակավոր կոնտեյները հիմնական թղթապանակի ենթապանակ է չկրկնվող անունով, որը ձևավորվում է ավտոմատ՝ սեսիայի բացման ժամանակ, և ջնջվում է սեսիայի փակվելուց հետո։

Մեթոդներ

DeleteBlobAsync

public virtual Task<bool> DeleteBlobAsync(string container, string blobName, CancellationToken cancellationToken = default)

Հեռացնում է ֆայլը ժամանակավոր ֆայլերի պահոցից` ըստ անվան և կոնտեյների։

Պարամետրեր

  • container - Կոնտեյների անունը։
  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • cancellationToken - Ընդհատման օբյեկտ։

DeleteBlobAsync

public virtual Task<bool> DeleteBlobAsync(string blobName, CancellationToken cancellationToken = default)

Հեռացնում է ֆայլը ընթացիկ սեսիայի կոնտեյներից։

Պարամետրեր

  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • cancellationToken - Ընդհատման օբյեկտ։

GetBlobAsync

public virtual Task<Stream> GetBlobAsync(string container, string blobName, CancellationToken cancellationToken = default)

Վերադարձնում է ֆայլի պարունակությունը ժամանակավոր ֆայլերի պահոցից` որպես Stream:

Պարամետրեր

  • container - Կոնտեյների անունը։
  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • cancellationToken - Ընդհատման օբյեկտ։

GetTempBlobUrl

public Task<string> GetTempBlobUrl(string fileExtension, out string blobName)

Վերադարձնում է ընթացիկ սեսիայի կոնտեյներում գոյություն չունեցող, պատահականության սկզբունքով ընտրված ֆայլի անուն՝ ներառյալ ընդլայնումը և ֆայլի ամբողջական ճանապարհը։

Օրինակ C:\\Storage\\Files\\76dfc298-66c0-4b41-8981-434582400aeb\\lsrbuqgy.jay.txt:

Պարամետրեր

  • fileExtension - Ֆայլի ընդլայնումը։
  • blobName - Վերադարձնում է ֆայլի անունը՝ նշված ընդլայնմամբ։

UploadBlobAsync

public Task<bool> UploadBlobAsync(string container, string blobName, byte[] value, CancellationToken cancellationToken = default)

Պահպանում է value պարամետրի պարունակությունը ժամանակավոր ֆայլերի պահոցում` ըստ կոնտեյների և ֆայլի անվան։

Պարամետրեր

  • container - Կոնտեյների անունը, որտեղ պետք է պահպանվի ֆայլը։
  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • value - Ֆայլի պարունակությունը` որպես byte-երի զանգված։
  • cancellationToken - Ընդհատման օբյեկտ։

UploadBlobAsync

public Task<bool> UploadBlobAsync(string blobName, Stream stream, BlobProperties properties = null, CancellationToken cancellationToken = default)

Պահպանում է stream պարամետրի պարունակությունը ընթացիկ սեսիայի կոնտեյների նշված ֆայլում։

Պարամետրեր

  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • stream - Ֆայլի պարունակությունը որպես Stream:
  • properties - Ֆայլի հատկությունները։
  • cancellationToken - Ընդհատման օբյեկտ։

UploadBlobAsync

public Task<bool> UploadBlobAsync(string containerOrBucketName, string blobName, Stream stream, BlobProperties properties = null, CancellationToken cancellationToken = default)

Պահպանում է stream պարամետրի պարունակությունը ժամանակավոր ֆայլերի պահոցում՝ նշված կոնտեյների նշված ֆայլում։

Պարամետրեր

  • containerOrBucketName - Կոնտեյների անունը։
  • blobName - Ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • stream - Ֆայլի պարունակությունը որպես Stream:
  • properties - Ֆայլի հատկությունները։
  • cancellationToken - Ընդհատման օբյեկտ։

UploadTempBlobAsync

public Task<bool> UploadTempBlobAsync(string fileExtension, out string blobName, Stream stream, BlobProperties properties = null, CancellationToken cancellationToken = default)

Պահպանում է stream պարամետրի պարունակությունը ընթացիկ սեսիայի կոնտեյների նշված ընդլայնմամբ ֆայլում, որի անունը ձևավորվում է ավտոմատ։

Պարամետրեր

  • fileExtension - Ֆայլի ընդլայնումը։
  • blobName - Վերադարձնում է ստեղծված ֆայլի անունը` ներառյալ ֆայլի ընդլայնումը։
  • stream - Ֆայլի պարունակությունը որպես Stream:
  • properties - Ֆայլի հատկությունները։
  • cancellationToken - Ընդհատման օբյեկտ։