You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Richard Eckart de Castilho (JIRA)" <ji...@apache.org> on 2017/07/19 08:11:00 UTC

[jira] [Updated] (WICKET-6425) For disk-cached downloads, FileUpload.writeToTempFile() points to an empty file

     [ https://issues.apache.org/jira/browse/WICKET-6425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Eckart de Castilho updated WICKET-6425:
-----------------------------------------------
    Summary: For disk-cached downloads, FileUpload.writeToTempFile() points to an empty file  (was: ServletPartFileItem saves file to wrong location)

> For disk-cached downloads, FileUpload.writeToTempFile() points to an empty file
> -------------------------------------------------------------------------------
>
>                 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)