In JSFL, when you use fl.browseForFileURL it returns a URI pointing to the file or folder you’ve chosen. On OX, however, the reference is wrong when you choose a file on a hard drive other than your primary.
Example: I have a hard drive on my mac named HD2. If I browse to a file on there, the URI returned will be
file:///HD2/myFile.txt
If you then immediately try a
FLfile.exists('file:///HD2/myFile.txt')
it returns false. This is due to OSX’s referencing system. the correct location is
file:///Volumes/HD2/myFile.txt
so all we have to do is add the word “Volumes/” to the string and the reference will be correct.
public static function browseForFileURI( title:String = "", type:String = "open" ):String
{
var ar:Array = MMExecute( "fl.browseForFileURL('" + type + "','" + title + "');" ).split("/");
ar[2] = "/Volumes";
return ar.join("/");
}