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

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -