actionscript 3 - Adobe AIR and different OS filesystems -
another adobe air question first here background project have been tasked with. air app read assets usb key , must work on both win , macos. problem is, how load assets app on macos! sounds simple enough , works seamlessly on windows.
here code snippet of trying do:
var loader:loader = new loader(); loader.contentloaderinfo.addeventlistener(event.complete, ok); loader.contentloaderinfo.addeventlistener(ioerrorevent.io_error, ioerror); var p:string; if (os == "mac") { p = "/volumes/" + keyvolume.rootdirectory.name + file.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg"; } else { p = keyvolume.rootdirectory.name + file.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg"; } var temp:file = new file(p); debugger.display.text += "\nattempting load: " + p; debugger.display.text += "\ndoes exist? " + temp.exists; loader.load(new urlrequest(p));
... variable os , keyvolume being set in earlier code. also, have event listener callbacks defined ok() , ioerro().
when run prints out on windows:
attempting load: g:\0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
exist: true
... , loads asset.
on macos, prints out:
attempting load: /volumes/ac/0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
exist: true
... , fails ioerror every time.
can see missing here? have sort of permission error or (file has "read / write" access). usb key formatted in ms-dos fat32, problem?
edit
i formatted new usb key in macos fat16 , put files onto no success. problems remain.
edit
i trying load asset /users/-username-/desktop , still receiving same error, looks isn't permissions issue on usb stick, more widespread that.
edit
problem solved! worded google search correctly , revealed answer.
these changes fix problem:
var loader:loader = new loader(); loader.contentloaderinfo.addeventlistener(event.complete, ok); loader.contentloaderinfo.addeventlistener(ioerrorevent.io_error, ioerror); var p:string = keyvolume.rootdirectory.nativepath + ((os == "mac") ? file.separator : "") + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg"; var temp:file = new file(p); debugger.display.text += "\nattempting load: " + temp.url; debugger.display.text += "\ndoes exist? " + temp.exists; loader.load(new urlrequest(temp.url));
i have refined logical statement involving os detection bit well.
i hope finds useful!
problem solved! worded google search correctly , revealed answer.
these changes fix problem:
var loader:loader = new loader(); loader.contentloaderinfo.addeventlistener(event.complete, ok); loader.contentloaderinfo.addeventlistener(ioerrorevent.io_error, ioerror); var p:string = keyvolume.rootdirectory.nativepath + ((os == "mac") ? file.separator : "") + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg"; var temp:file = new file(p); debugger.display.text += "\nattempting load: " + temp.url; debugger.display.text += "\ndoes exist? " + temp.exists; loader.load(new urlrequest(temp.url));
i have refined logical statement involving os detection bit well.
i hope finds useful!
Comments
Post a Comment