I was wondering, is the file upload performed against the file input element, or a hidden input element. We know the user browsing for the file is via the file input, but the value selected can then be set elsewhere (with javascript) and used however via javascript. If it's done non-standard w/ upload not actually taken and performed against the file input element, then it can be tricky to automate. Your app developers probably know the details.
Here's an example about related tricky situations: we have app that uses HTML5 uploader. It's uses standard file input element (but supports multiple file selection via the browser select file GUI) and thus supports multiple file upload. The upload is actually performed by javascript and XmlHttpRequests for each file to upload performed in parallel upload sets of 3, and doesn't use a standard form submission for upload. As such, there's no direct support for this with WebDriver, I was only able to make the uploader upload a single file via sendKeys (whether remote in Grid or local), tried various sendKeys to send CSV string or space delimited string with files quoted as needed, and it just didn't work. I have feeling I could workaround this by set value of file input element manually (via javascript) and then trigger javascript upload function, but unfortunately, browser security prevents you from programmatically setting value of a file input element.