Refactor the upload files folders paths.

This commit is contained in:
2019-02-16 20:31:11 +01:00
parent df2f6da3ed
commit 8044b24144
3 changed files with 20 additions and 29 deletions

View File

@@ -1,20 +0,0 @@
package org.codiki.core.constant;
public enum FileEnum {
/** Folder in where pictures will be uploaded. */
FOLDER_UPLOAD("/opt/codiki/pictures/tmp/"),
/** Folder in where profile pictures will be stored. */
FOLDER_PROFILE_IMAGES("/opt/codiki/pictures/profiles/"),
/** Folder in where images will be stored. */
FOLDER_IMAGE("/opt/codiki/pictures/posts/");
private String value;
private FileEnum(final String pValue) {
value = pValue;
}
public String val() {
return value;
}
}

View File

@@ -6,7 +6,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.commons.lang.RandomStringUtils;
import org.codiki.core.constant.FileEnum;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.stereotype.Service;
@@ -17,6 +17,13 @@ public class FileUploadService {
/** Length of uploaded file names. */
private static final int DESTINATION_IMAGE_NAME_LENGTH = 30;
@Value("codiki.files.upload")
private String folderUpload;
@Value("codiki.files.profile-images")
private String folderProfileImages;
@Value("codiki.files.images")
private String folderImages;
/**
* Builds the destination file name, which is a random string with 30 char
* length.
@@ -28,18 +35,18 @@ public class FileUploadService {
}
public String uploadProfileImage(final MultipartFile pFile) {
return uploadFile(pFile, FileEnum.FOLDER_PROFILE_IMAGES);
return uploadFile(pFile, folderProfileImages);
}
public String uploadImage(final MultipartFile pFile) {
return uploadFile(pFile, FileEnum.FOLDER_IMAGE);
return uploadFile(pFile, folderImages);
}
private String uploadFile(final MultipartFile pFile, final FileEnum pPath) {
private String uploadFile(final MultipartFile pFile, final String pPath) {
String result;
try {
result = buildDestinationFileName();
Files.copy(pFile.getInputStream(), Paths.get(pPath.val()).resolve(result));
Files.copy(pFile.getInputStream(), Paths.get(pPath).resolve(result));
return result;
} catch (final Exception pEx) {
// TODO : Refactor exception
@@ -48,16 +55,16 @@ public class FileUploadService {
}
public Resource loadAvatar(final String pAvatarFileName) {
return loadImage(pAvatarFileName, FileEnum.FOLDER_PROFILE_IMAGES);
return loadImage(pAvatarFileName, folderProfileImages);
}
public Resource loadImage(final String pImageLink) {
return loadImage(pImageLink, FileEnum.FOLDER_IMAGE);
return loadImage(pImageLink, folderImages);
}
private Resource loadImage(final String pImageLink, final FileEnum pFilePath) {
private Resource loadImage(final String pImageLink, final String pFilePath) {
try {
Path imageFile = Paths.get(pFilePath.val()).resolve(pImageLink);
Path imageFile = Paths.get(pFilePath).resolve(pImageLink);
Resource imageResource = new UrlResource(imageFile.toUri());
if(imageResource.exists() || imageResource.isReadable()) {
return imageResource;

View File

@@ -14,4 +14,8 @@ logging.level.org.hibernate=DEBUG
spring.servlet.multipart.max-file-size=104857600
codiki.files.upload=/opt/codiki/pictures/tmp
codiki.files.profile-images=/opt/codiki/pictures/profiles
codiki.files.images=/opt/codiki/pictures/posts
cors.enabled=false