Updated Upload error

- Added header expose
- Updated download UI logic
This commit is contained in:
2024-02-17 20:10:03 +01:00
parent 66d33e7e56
commit c084af461f
5 changed files with 81 additions and 6 deletions

View File

@ -68,6 +68,7 @@ public class Download extends ApiRestController {
headers.add(HttpHeaders.CACHE_CONTROL, "no-cache, no-store, must-revalidate");
headers.add(HttpHeaders.PRAGMA, "no-cache");
headers.add(HttpHeaders.EXPIRES, "0");
headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
return ResponseEntity.ok()
.headers(headers)

View File

@ -45,6 +45,14 @@ public class Upload extends ApiRestController {
}
FileUpload fileUpload = fileService.processUploadedFile(file, request.getRemoteAddr(), passwordProtected, singleDownload, fileDescription);
if(fileUpload == null) {
log.debug("File Upload failed for IP: " + request.getRemoteAddr());
Map<String, Object> response = new HashMap<>();
response.put("message", "FileUpload failed. FileName might have invalid characters.");
return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
}
log.debug("User uploaded file " + file.getOriginalFilename() + " from IP " + request.getRemoteAddr() + " successfully.");
Map<String, Object> response = new HashMap<>();

View File

@ -3,7 +3,6 @@ package de.w665.sharepulse.service;
import de.w665.sharepulse.db.repo.FileUploadRepository;
import de.w665.sharepulse.model.FileUpload;
import jakarta.annotation.PostConstruct;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.tomcat.util.http.fileupload.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -71,6 +70,14 @@ public class FileService {
password = fileSecurityService.generateFilePassword();
}
/*String encodedFileName = "";
try {
encodedFileName = URLEncoder.encode(file.getOriginalFilename(), StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException e) {
log.error("Error encoding file name: " + e.getMessage());
return null;
}*/
FileUpload fileUpload = FileUpload.builder()
.fileId(fileId)
.fileName(file.getOriginalFilename())