Refactor file uploading.
This commit is contained in:
@@ -92,10 +92,11 @@ public class AccountController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/uploadAvatar")
|
@PostMapping("/uploadAvatar")
|
||||||
public ResponseEntity<String> uploadAvatar(@RequestParam("file") MultipartFile pFile) {
|
public ResponseEntity<String> uploadAvatar(@RequestParam("file") MultipartFile pFile,
|
||||||
|
final HttpServletRequest pRequest, final HttpServletResponse pResponse) {
|
||||||
String result;
|
String result;
|
||||||
try {
|
try {
|
||||||
result = accountService.uploadFile(pFile);
|
result = accountService.uploadFile(pFile, pRequest, pResponse);
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||||
} catch(final Exception pEx) {
|
} catch(final Exception pEx) {
|
||||||
result = StringUtils.concat("Fail to upload ", pFile.getOriginalFilename() + ".");
|
result = StringUtils.concat("Fail to upload ", pFile.getOriginalFilename() + ".");
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.io.IOException;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import javax.naming.AuthenticationException;
|
import javax.naming.AuthenticationException;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.codiki.core.entities.dto.PasswordWrapperDTO;
|
import org.codiki.core.entities.dto.PasswordWrapperDTO;
|
||||||
@@ -75,8 +76,24 @@ public class AccountService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String uploadFile(final MultipartFile pFile) {
|
public String uploadFile(final MultipartFile pFile,
|
||||||
return fileUploadService.uploadProfileImage(pFile);
|
final HttpServletRequest pRequest, final HttpServletResponse pResponse) throws IOException {
|
||||||
|
final String avatarFileName = fileUploadService.uploadProfileImage(pFile);
|
||||||
|
|
||||||
|
final Optional<User> connectedUser = tokenService.getAuthenticatedUserByToken(pRequest);
|
||||||
|
if(connectedUser.isPresent()) {
|
||||||
|
final Optional<User> userFromDb = userRepository.findById(connectedUser.get().getId());
|
||||||
|
if(userFromDb.isPresent()) {
|
||||||
|
userFromDb.get().setImage(avatarFileName);
|
||||||
|
userRepository.save(userFromDb.get());
|
||||||
|
} else {
|
||||||
|
pResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
|
||||||
|
}
|
||||||
|
|
||||||
|
return avatarFileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Resource loadAvatar(final String pAvatarFileName) {
|
public Resource loadAvatar(final String pAvatarFileName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user