Richard Eckart de Castilho created WICKET-6425:
--------------------------------------------------
Summary: ServletPartFileItem saves file to wrong location
Key: WICKET-6425
URL: https://issues.apache.org/jira/browse/WICKET-6425
Project: Wicket
Issue Type: Bug
Affects Versions: 7.8.0
Reporter: Richard Eckart de Castilho
ServletPartFileItem.write() receives an absolute path to a temporary location
from FileUpload.writeToTempFile(). However, it discards the full path and
passes on only the file name itself.
{noformat}
@Override
public void write(File file) throws Exception
{
part.write(file.getName());
}
{noformat}
So "file" here is an absolute location to a temporary file in the temp folder.
Next, Tomcat's ApplicationPart.write() turns `file.getName()` back into a file
which is now relative to the current working directory.
Thus, the downloaded file never ends up in the location requested by
FileUpload.writeToTempFile().
Relevant stack
{noformat}
Daemon Thread [http-nio-8080-exec-5] (Suspended)
owns: NioEndpoint$NioSocketWrapper (id=137)
DiskFileItem.write(File) line: 388
ApplicationPart.write(String) line: 120
ServletPartFileItem.write(File) line: 140
FileUpload.writeTo(File) line: 234
FileUpload.writeToTempFile() line: 254
...
{noformat}
Using Tomcat 8.5.16, Wicket 7.8.0
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)