[
https://issues.apache.org/jira/browse/WICKET-2913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Peter Ertl resolved WICKET-2913.
--------------------------------
Resolution: Duplicate
Fix Version/s: 1.5-M4
Assignee: Peter Ertl
should be fixed with WICKET-2833. The internal handling of FileUpload was also
reworked.
> o.a.w.markup.html.form.upload.FileUpload.writeTo(File) is not optimal
> ---------------------------------------------------------------------
>
> Key: WICKET-2913
> URL: https://issues.apache.org/jira/browse/WICKET-2913
> Project: Wicket
> Issue Type: Improvement
> Components: wicket
> Affects Versions: 1.4.9
> Reporter: Attila Király
> Assignee: Peter Ertl
> Fix For: 1.5-M4
>
>
> The current code of
> org.apache.wicket.markup.html.form.upload.FileUpload.writeTo(File):
> public void writeTo(final File file) throws IOException
> {
> writeTo(file, 4096);
> }
> simply delegates to
> org.apache.wicket.markup.html.form.upload.FileUpload.writeTo(File, int):
> public void writeTo(final File file, final int bufSize) throws IOException
> {
> InputStream is = getInputStream();
> try
> {
> Files.writeTo(file, is, bufSize);
> }
> finally
> {
> is.close();
> }
> }
> which opens an inputstream and pumbs the content to the parameter file. This
> means that there is always a copy.
> But if writeTo(File) would look something like this:
> public void writeTo(final File file) throws IOException
> {
> item.write(file);
> // item.write can throw Exception so some exception handling is also
> needed (rethrow as IOException maybe)
> }
> This could be more efficient because item is a FileItem which is probably a
> DiskFileItem (the only implementation in wicket), and DiskFileItem.write()
> tries to simply rename the file first. If that fails it tries to copy. So if
> rename works there is no need to copy and the code runs faster.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.