With Dojo, you can easily customize the file upload button, f.e. to change the label, add additional style sheets or use HTML5 or Flash plugin for uploading.
Here is basic example which adds a label and a blue border around the button:
<?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core"> <xp:this.data> <xp:dominoDocument var="document1" formName="File" /> </xp:this.data> <xp:scriptBlock id="scriptBlockFileUpload"> <xp:this.value> <![CDATA[ require(['dojo/parser', 'dojox/form/Uploader', 'dojo/domReady!'], function(parser, ready){ parser.parse().then(function(){ uploader = new dojox.form.Uploader({ name:'#{id:fileUpload1}', label:'Select Some Files', multiple:false, style: 'border:5px solid blue;' }, '#{id:fileUpload1}'); uploader.startup(); }); }); ]]> </xp:this.value> </xp:scriptBlock> <xp:fileUpload id="fileUpload1" value="#{document1.Body}"> </xp:fileUpload> <xp:button value="Submit" id="buttonSubmit" > <xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true" /> </xp:button> </xp:view>
Have a look at dojox.form.Uploader for more details.