public Task Remove(FileUse fileUse, string fileId) { string s3Key = FileServiceUtilities.GetKey(fileUse, fileId); var deleteObjectRequest = new DeleteObjectRequest { BucketName = _s3Config.BucketName, Key = s3Key }; return(_retryPolicy.ExecuteAsync(() => _s3Client.DeleteObjectAsync(deleteObjectRequest))); }
internal static string GetKey(FileUse fileUse, string fileId) { switch (fileUse) { case FileUse.UserImage: return($"{UserImageDir}/{fileId}"); case FileUse.ArticleNarration: return($"{ArticleNarrationDir}/{fileId}"); default: return($"{NoneDir}/{fileId}"); } }
public async Task <string> Add(FileUse fileUse, string fileId, string contentType, Stream stream) { string s3Key = FileServiceUtilities.GetKey(fileUse, fileId); var putObjectRequest = new PutObjectRequest { BucketName = _s3Config.BucketName, Key = s3Key, InputStream = stream, ContentType = contentType, CannedACL = S3CannedACL.Private, AutoCloseStream = false }; await _retryPolicy.ExecuteAsync(() => _s3Client.PutObjectAsync(putObjectRequest)).ConfigureAwait(false); return(FileServiceUtilities.GetCdnFileUrl(_s3Config.CdnUrl, s3Key)); }
public void GetKeyShouldCorrectGetKey(FileUse fileUse, string fileId, string expectedKey) { string key = FileServiceUtilities.GetKey(fileUse, fileId); Assert.Equal(expectedKey, key); }