This behavior (dare I say: bug?) also relates to relative pathing when using a Video object’s load() method. See my post on that here. I’ll repeat some of the information found there, here.
In AS3, normally an external file is pathed relative to the housing document (.html or .php, whatever). When supplying the url property to a URLRequest object, it is normally computed relative to the housing document.
If you have the following directory structure:
And you want to use pass a URLRequest object to a Loader object to load up and show pic.jpg, it should be pathed like so:
var request:URLRequest = new URLRequest("../assets/images/pic.jpg");
Which is of course relative to index.html – not to app.swf. However, when you supply the path to an upload operation of a FileReference object, that path must be relative to the swiff file, not the housing document. It would have to be structured like so:
var request:URLRequest = new URLRequest("../scripts/upload.php");
See my post here for another FileReference bug, this one related to failed event dispatches.