diff --git a/backend/cdn/4f7f8ce8-98a9-45cd-835e-bf13d3a71d07.png b/backend/cdn/4f7f8ce8-98a9-45cd-835e-bf13d3a71d07.png new file mode 100644 index 0000000..5ced11b Binary files /dev/null and b/backend/cdn/4f7f8ce8-98a9-45cd-835e-bf13d3a71d07.png differ diff --git a/backend/cdn/755d356e-899f-4486-932e-c2968099184b.png b/backend/cdn/755d356e-899f-4486-932e-c2968099184b.png new file mode 100644 index 0000000..d5e254f Binary files /dev/null and b/backend/cdn/755d356e-899f-4486-932e-c2968099184b.png differ diff --git a/backend/cdn/ea391659-ed46-4253-a4b7-d98914255998.png b/backend/cdn/ea391659-ed46-4253-a4b7-d98914255998.png new file mode 100644 index 0000000..d5e254f Binary files /dev/null and b/backend/cdn/ea391659-ed46-4253-a4b7-d98914255998.png differ diff --git a/backend/cdn/ee8994e4-74b0-426a-b3b0-a272b8815258.png b/backend/cdn/ee8994e4-74b0-426a-b3b0-a272b8815258.png new file mode 100644 index 0000000..d5e254f Binary files /dev/null and b/backend/cdn/ee8994e4-74b0-426a-b3b0-a272b8815258.png differ diff --git a/backend/src/main/java/ovh/herisson/Clyde/EndPoints/StorageController.java b/backend/src/main/java/ovh/herisson/Clyde/EndPoints/StorageController.java index c8b4ae8..724ae10 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/EndPoints/StorageController.java +++ b/backend/src/main/java/ovh/herisson/Clyde/EndPoints/StorageController.java @@ -1,13 +1,12 @@ package ovh.herisson.Clyde.EndPoints; -import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import ovh.herisson.Clyde.Services.StorageService; -import org.springframework.core.io.Resource; import ovh.herisson.Clyde.Tables.FileType; +import ovh.herisson.Clyde.Tables.StorageFile; @RestController @CrossOrigin(originPatterns = "*", allowCredentials = "true") @@ -21,12 +20,17 @@ public class StorageController { @PostMapping("/upload/{fileType}") - public ResponseEntity handleFileUpload(@RequestParam("file") MultipartFile file, @PathVariable FileType fileType) { + public ResponseEntity handleFileUpload(@RequestParam("file") MultipartFile file, @PathVariable FileType fileType) { - String path = storageServ.store(file,fileType); + StorageFile fileEntry = null; + try { + fileEntry = storageServ.store(file,fileType); + + } catch(Exception e){ + e.printStackTrace(); + } - if (path == null) return new ResponseEntity<>("issue with the file storage", HttpStatus.BAD_REQUEST); - return new ResponseEntity<>(path, HttpStatus.OK); + return new ResponseEntity<>(fileEntry, HttpStatus.OK); } } diff --git a/backend/src/main/java/ovh/herisson/Clyde/Services/StorageService.java b/backend/src/main/java/ovh/herisson/Clyde/Services/StorageService.java index c73dd0b..fcc5102 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Services/StorageService.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Services/StorageService.java @@ -27,7 +27,7 @@ public class StorageService { } - public String store(MultipartFile file, FileType fileType) { + public StorageFile store(MultipartFile file, FileType fileType) { if (file.getOriginalFilename().isEmpty()){return null;} @@ -49,9 +49,7 @@ public class StorageService { String url = this.rootLocation.resolve(Paths.get(Objects.requireNonNull(stringUuid))) .normalize().toString(); - fileRepo.save(new StorageFile(file.getName(),url, fileType)); - - return url; + return fileRepo.save(new StorageFile(file.getName(),url, fileType)); } public void delete(StorageFile file) throws SecurityException { diff --git a/frontend/src/rest/uploads.js b/frontend/src/rest/uploads.js new file mode 100644 index 0000000..48623cf --- /dev/null +++ b/frontend/src/rest/uploads.js @@ -0,0 +1,11 @@ +import { restPostFile } from '@/rest/restConsumer.js' + + +/** + * Upload a file to the server and return the url of this image + */ +export async function uploadProfilePicture(file){ + const formData = new FormData(); + formData.append("file", file[0]); + return restPostFile("/upload/ProfilePicture", formData) +}