Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
<byte-buddy.version>1.18.4</byte-buddy.version>
<cdi-unit.version>5.0.0-EA7</cdi-unit.version>
<commons-collections4.version>4.5.0</commons-collections4.version>
<commons-fileupload.version>2.0.0-M4</commons-fileupload.version>
<commons-fileupload.version>2.0.0-M5</commons-fileupload.version>
<commons-io.version>2.21.0</commons-io.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<guice.version>7.0.0</guice.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import java.lang.reflect.Field;
import java.util.List;

import org.apache.commons.fileupload2.core.FileItem;
import org.apache.commons.fileupload2.core.DiskFileItemFactory;
import org.apache.commons.fileupload2.core.FileItem;
import org.apache.wicket.util.file.File;
import org.apache.wicket.util.file.FileCleaner;
import org.apache.wicket.util.file.FileCleanerTrackerAdapter;
Expand Down Expand Up @@ -60,14 +60,16 @@ void getInputStream() throws Exception
DiskFileItemFactory itemFactory = DiskFileItemFactory.builder()
.setFileCleaningTracker(new FileCleanerTrackerAdapter(fileUploadCleaner))
.get();

FileItem fileItem = itemFactory.fileItemBuilder()
.setContentType("text/java")
.setFieldName("dummyFieldName")
.setFormField(false)
.setFileName("FileUploadTest.java")
.get();
// Initialize the upload
fileItem.getOutputStream();

// Initialize the upload
fileItem.getOutputStream().close();

// Get the internal list out
Field inputStreamsField = FileUpload.class.getDeclaredField("inputStreamsToClose");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,17 @@
import java.util.List;
import java.util.Map;

import jakarta.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload2.core.FileItem;
import org.apache.commons.fileupload2.core.FileUploadException;
import org.apache.wicket.Application;
import org.apache.wicket.protocol.http.IMultipartWebRequest;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.Url;
import org.apache.wicket.util.lang.Args;
import org.apache.wicket.util.lang.Bytes;

import jakarta.servlet.http.HttpServletRequest;

/**
* Servlet specific WebRequest subclass for multipart content uploads.
*
Expand Down Expand Up @@ -147,4 +148,9 @@ public void setFileCountMax(long fileCountMax)
{
this.fileCountMax = fileCountMax;
}

protected int getDefaultMaximumPartHeaderSize()
{
return Application.get().getApplicationSettings().getDefaultMaximumPartHeaderSize();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -286,14 +286,17 @@ protected AbstractFileUpload newFileUpload(String encoding) {
fileUpload.setHeaderCharset(charset);
}

fileUpload.setSizeMax(getMaxSize().bytes());
fileUpload.setMaxSize(getMaxSize().bytes());

Bytes fileMaxSize = getFileMaxSize();
if (fileMaxSize != null) {
fileUpload.setFileSizeMax(fileMaxSize.bytes());

if (fileMaxSize != null)
{
fileUpload.setMaxFileSize(fileMaxSize.bytes());
}

fileUpload.setFileCountMax(getFileCountMax());
fileUpload.setMaxFileCount(getFileCountMax());
fileUpload.setMaxPartHeaderSize(getDefaultMaximumPartHeaderSize());

return fileUpload;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import java.lang.ref.WeakReference;

import org.apache.commons.fileupload2.core.AbstractFileUpload;
import org.apache.commons.fileupload2.core.MultipartInput;
import org.apache.wicket.Page;
import org.apache.wicket.application.DefaultClassResolver;
import org.apache.wicket.application.IClassResolver;
Expand Down Expand Up @@ -61,6 +63,8 @@ public class ApplicationSettings

private Bytes defaultMaximumUploadSize = Bytes.MAX;

private int defaultMaximumPartHeaderSize = MultipartInput.DEFAULT_PART_HEADER_SIZE_MAX;

private boolean uploadProgressUpdatesEnabled = false;

private IFeedbackMessageFilter feedbackMessageCleanupFilter = new DefaultCleanupFeedbackMessageFilter();
Expand Down Expand Up @@ -270,4 +274,23 @@ public IFeedbackMessageFilter getFeedbackMessageCleanupFilter()
{
return feedbackMessageCleanupFilter;
}

/**
* The maximumPartHeaderSize für MultipartRequests in Fileuploads.
* @return
*/
public int getDefaultMaximumPartHeaderSize()
{
return defaultMaximumPartHeaderSize;
}

/**
* Sets the default maximumPartHeaderSize. See also: {@link AbstractFileUpload#getMaxPartHeaderSize()}
* @param defaultMaximumPartHeaderSize
* default is {@link MultipartInput#DEFAULT_PART_HEADER_SIZE_MAX}
*/
public void setDefaultMaximumPartHeaderSize(int defaultMaximumPartHeaderSize)
{
this.defaultMaximumPartHeaderSize = defaultMaximumPartHeaderSize;
}
}