MCPcopy Create free account
hub / github.com/TryCatchLearn/Restore-v2 / ImageService

Class ImageService

API/Services/ImageService.cs:9–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7namespace API.Services;
8
9public class ImageService
10{
11 private readonly Cloudinary _cloudinary;
12 public ImageService(IOptions<CloudinarySettings> config)
13 {
14 var acc = new Account(
15 config.Value.CloudName,
16 config.Value.ApiKey,
17 config.Value.ApiSecret
18 );
19
20 _cloudinary = new Cloudinary(acc);
21 }
22
23 public async Task<ImageUploadResult> AddImageAsync(IFormFile file)
24 {
25 var uploadResult = new ImageUploadResult();
26
27 if (file.Length > 0)
28 {
29 using var stream = file.OpenReadStream();
30 var uploadParams = new ImageUploadParams
31 {
32 File = new FileDescription(file.FileName, stream),
33 Folder = "rs-course"
34 };
35 uploadResult = await _cloudinary.UploadAsync(uploadParams);
36 }
37
38 return uploadResult;
39 }
40
41 public async Task<DeletionResult> DeleteImageAsync(string publicId)
42 {
43 var deleteParams = new DeletionParams(publicId);
44
45 var result = await _cloudinary.DestroyAsync(deleteParams);
46
47 return result;
48 }
49}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected