Class FileUploadEndpoint
java.lang.Object
com.broadleafcommerce.asset.web.endpoint.FileUploadEndpoint
@FrameworkRestController
@FrameworkMapping("/upload")
@DataRouteByExample(Asset.class)
public class FileUploadEndpoint
extends Object
- Author:
- Chad Harchar (charchar), Samarth Dhruva (samarthd)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final FileUploadStateService<FileUploadState>
protected final StorageService
-
Constructor Summary
ConstructorsConstructorDescriptionFileUploadEndpoint
(StorageService storageService, FileUploadStateService<FileUploadState> fileUploadStateService, @NonNull FileUploadStateHydrationService fileUploadStateHydrationService) -
Method Summary
Modifier and TypeMethodDescriptionprotected File
createTempFile
(org.springframework.web.multipart.MultipartFile multipartFile) getFileUploadState
(String stateId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected @NonNull FileUploadStateHydrationService
org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError>
handleBulkStorageException
(BulkStorageException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError>
handleImageOptimizationException
(Exception ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError>
handleInvalidUploadRequest
(Exception ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError>
handleStorageException
(Exception ex, org.springframework.web.context.request.WebRequest request) protected void
uploadFile
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, Asset asset, org.springframework.web.multipart.MultipartFile file, Boolean optimizeImg) uploadMultiFile
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, org.springframework.web.multipart.MultipartFile file, Asset asset, Boolean optimizeImg)
-
Field Details
-
storageService
-
fileUploadStateService
-
-
Constructor Details
-
FileUploadEndpoint
public FileUploadEndpoint(StorageService storageService, FileUploadStateService<FileUploadState> fileUploadStateService, @NonNull @NonNull @NonNull FileUploadStateHydrationService fileUploadStateHydrationService)
-
-
Method Details
-
uploadFile
@FrameworkPostMapping @Policy(permissionRoots="ASSET") public Asset uploadFile(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @RequestPart(value="asset",required=false) Asset asset, @RequestPart("file") org.springframework.web.multipart.MultipartFile file, @RequestParam(value="optimizeImg",required=false,defaultValue="false") Boolean optimizeImg) -
uploadMultiFile
@FrameworkPostMapping("/multi") @Policy(permissionRoots="ASSET") public FileUploadState uploadMultiFile(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @RequestPart("file") org.springframework.web.multipart.MultipartFile file, @RequestPart(value="asset",required=false) Asset asset, @RequestParam(value="optimizeImg",required=false,defaultValue="false") Boolean optimizeImg) -
createTempFile
protected File createTempFile(org.springframework.web.multipart.MultipartFile multipartFile) throws IOException - Throws:
IOException
-
getFileUploadState
@FrameworkGetMapping("/multi/state/{stateId}") @Policy(permissionRoots="ASSET") public FileUploadState getFileUploadState(@PathVariable("stateId") String stateId, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
handleInvalidUploadRequest
@ExceptionHandler({org.springframework.web.multipart.MultipartException.class,org.springframework.web.multipart.MaxUploadSizeExceededException.class,FileUploadBadRequestException.class}) public org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> handleInvalidUploadRequest(Exception ex, org.springframework.web.context.request.WebRequest request) -
handleBulkStorageException
@ExceptionHandler(BulkStorageException.class) public org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> handleBulkStorageException(BulkStorageException ex, org.springframework.web.context.request.WebRequest request) -
handleStorageException
@ExceptionHandler(StorageException.class) public org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> handleStorageException(Exception ex, org.springframework.web.context.request.WebRequest request) -
handleImageOptimizationException
@ExceptionHandler(ImageOptimizationException.class) public org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> handleImageOptimizationException(Exception ex, org.springframework.web.context.request.WebRequest request) -
logDebug
-
getFileUploadStateHydrationService
@NonNull @NonNull protected @NonNull FileUploadStateHydrationService getFileUploadStateHydrationService()
-