IStorageService սերվիս
Բովանդակություն
Ներածություն
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
- Ընդհատման օբյեկտ։