
3 changed files with 72 additions and 66 deletions
@ -1,57 +1,59 @@ |
|||||
using System; |
using System; |
||||
using System.Collections.Generic; |
using System.Collections.Generic; |
||||
using System.IO; |
using System.IO; |
||||
using System.Linq; |
using System.Linq; |
||||
using System.Threading.Tasks; |
using System.Threading.Tasks; |
||||
|
|
||||
namespace CoviDok.BLL.Storage |
namespace CoviDok.BLL.Storage |
||||
{ |
{ |
||||
class StorageHandler |
class StorageHandler |
||||
{ |
{ |
||||
private readonly IStorageProvider storageProvider; |
private readonly IStorageProvider storageProvider; |
||||
|
|
||||
public StorageHandler(IStorageProvider provider) |
public StorageHandler(IStorageProvider provider) |
||||
{ |
{ |
||||
//Client = new MinioClient(
|
//Client = new MinioClient(
|
||||
//"192.168.0.160:9000",
|
//"192.168.0.160:9000",
|
||||
//"secretaccesskey",
|
//"secretaccesskey",
|
||||
//"secretsecretkey");
|
//"secretsecretkey");
|
||||
storageProvider = provider; |
storageProvider = provider; |
||||
} |
} |
||||
|
|
||||
public async Task<StorageResult> UploadImage(string BucketName, Stream FilePath, long size, string ObjectName) |
public async Task<StorageResult> UploadImage(string BucketName, Stream FilePath, long size, string ObjectName) |
||||
{ |
{ |
||||
try |
try |
||||
{ |
{ |
||||
// Make a bucket on the server, if not already present.
|
// Make a bucket on the server, if not already present.
|
||||
bool found = await storageProvider.NamespaceExists(BucketName); |
bool found = await storageProvider.NamespaceExists(BucketName); |
||||
if (!found) |
if (!found) |
||||
{ |
{ |
||||
await storageProvider.CreateNamespace(BucketName); |
await storageProvider.CreateNamespace(BucketName); |
||||
} |
} |
||||
// Upload a file to bucket.
|
// Upload a file to bucket.
|
||||
await storageProvider.Upload(BucketName, ObjectName, FilePath, size); |
Console.WriteLine("StorageHandler:UploadImage - Uploading " + ObjectName); |
||||
return new StorageResult(true, ObjectName); |
await storageProvider.Upload(BucketName, ObjectName, FilePath, size); |
||||
} |
Console.WriteLine("StorageHandler:UploadImage - Uploaded " + ObjectName); |
||||
catch (Exception e) |
return new StorageResult(true, ObjectName); |
||||
{ |
} |
||||
return new StorageResult(false, e.Message); |
catch (Exception e) |
||||
} |
{ |
||||
} |
return new StorageResult(false, e.Message); |
||||
|
} |
||||
public async Task GetImage(string bucketName, string ImageId, Action<Stream> callback) |
} |
||||
{ |
|
||||
if (await storageProvider.ObjectExists(bucketName, ImageId)) |
public async Task GetImage(string bucketName, string ImageId, Action<Stream> callback) |
||||
{ |
{ |
||||
await storageProvider.Download(bucketName, ImageId, callback); |
if (await storageProvider.ObjectExists(bucketName, ImageId)) |
||||
} |
{ |
||||
else throw new KeyNotFoundException(); |
await storageProvider.Download(bucketName, ImageId, callback); |
||||
|
} |
||||
} |
else throw new KeyNotFoundException(); |
||||
|
|
||||
public async Task<bool> ImageExists(string bucketName, string ImageId) |
} |
||||
{ |
|
||||
return await storageProvider.ObjectExists(bucketName, ImageId); |
public async Task<bool> ImageExists(string bucketName, string ImageId) |
||||
} |
{ |
||||
} |
return await storageProvider.ObjectExists(bucketName, ImageId); |
||||
} |
} |
||||
|
} |
||||
|
} |
||||
|
Loading…
Reference in new issue