[ 
https://issues.apache.org/jira/browse/TOMAHAWK-1420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714554#action_12714554
 ] 

Paulo Henrique Couto de Lima commented on TOMAHAWK-1420:
--------------------------------------------------------

I am using ExtensionsFilter. I think it is not related to TOMAHAWK-1381.

> uploadThresholdSize seems to be ignored
> ---------------------------------------
>
>                 Key: TOMAHAWK-1420
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1420
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: File Upload
>    Affects Versions: 1.1.8
>         Environment: MyFaces Tomahawk, JSF 1.2 - SUN RI on JBoss 5.01 / 
> integrated Tomcat
>            Reporter: Jochen Reinhardt
>            Priority: Critical
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> uploadThresholdSize seems to be ignored. I set it to 0 to get all files saved 
> to disk for further processing in EJB. I also tried with 1 and 1k - but the 
> result stayed the same. I got OutOfMemoryError when uploading huge files as 
> HtmlFileUploadRenderer after line 180 always creeated an instance of 
> UploadedFileDefaultMemoryImpl.
> String implementation = ((HtmlInputFileUpload) uiComponent).getStorage();
> if( implementation == null || ("memory").equals( implementation ) )
>     upFile = new UploadedFileDefaultMemoryImpl( fileItem );
> else
>     upFile = new UploadedFileDefaultFileImpl( fileItem );
> So something seems to be wrong with HtmlInputFileUpload.getStorage() - which 
> uses an EL Expression to get the implementation.But I'm not sure how this is 
> handled in myFaces. The expression just reads:
> ValueExpression vb = getValueExpression("storage");
> I'm not sure if that is put correctly in the FacesContext. It only works when 
> I use fileUpload's storage attribute to hardcode the strategy to disk in JSF. 
> UploadedFileDefaultMemoryImpl always will load the complete file into memory 
> (line 42) - no matter what FileItem / ThresholdingOutputStream is used!
> int sizeInBytes = (int)fileItem.getSize();
> bytes = new byte[sizeInBytes];
> fileItem.getInputStream().read(bytes);
> I guess that this is causing my memory issues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to