This example utilizes a custom extension to implement a file upload field. The js is not minified so it is readable. See file-input.js and FileUploadField.js.
A typical file upload field with Ext style. Direct editing of the text field cannot be done in a consistent, cross-browser way, so it is always read-only in this implementation.
Basic FileUpload (Button-only)
You can also render the file input as a button without the text field, with access to the field's value via the standard Ext.form.TextField interface or by handling the fileselected event (as in this example).
The FileUploadField can also be used in standard form layouts, with support for anchoring, validation (the field is required in this example), empty text, etc. This example also demonstrates using the buttonCfg option to provide a customized icon upload button.