Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.5.22
-
None
Description
On an empty file upload the storeLocation is null, so adds a file new StrutsUploadedFile(null)
JakartaMultiPartRequest
List fileList = new ArrayList<>(items.size()); for (FileItem fileItem : items) { File storeLocation = ((DiskFileItem) fileItem).getStoreLocation(); if (fileItem.isInMemory() && storeLocation != null && !storeLocation.exists()) { try { storeLocation.createNewFile(); } catch (IOException e) { LOG.error("Cannot write uploaded empty file to disk: {}", storeLocation.getAbsolutePath(), e); } } fileList.add(new StrutsUploadedFile(storeLocation)); }
The FileUploadInterceptor checks for a null file but not null content from the new StrutsUploadedFile(null).
eg for an empty file main.js
Error message should be:
Error uploading: main.js
but gives:
Error setting expression 'uploadedFiles' with value ['org.apache.struts2.dispatcher.multipart.StrutsUploadedFile@202585bc', ]
Error setting expression 'uploadedFiles' with value ['org.apache.struts2.dispatcher.multipart.StrutsUploadedFile@49553150', ]
Attachments
Issue Links
- is duplicated by
-
WW-5146 Empty file upload ends in error
- Closed
- links to