Old Articles - 5 years, 10 months ago - 0 Comments

Checking if a file exists

Sometimes it is necessary to determine if a file exists using actionscript, for example when you have a preloader cue, that loads a series of .jpgs one after another, if one of the files doesnt exist then the cue wouldnt traverse any further, you could of course use a timeout in that scenario but why not just check if the file exists before loading it, so that if necessary you can move onto the next item in the cue almost instantly. It is possible to determine whether a file exists using the success parameter of the onLoad event handler, the problem lies in the fact that the onLoad event handler for movieclips doesnt work, so to check if an .swf file exists, or an image, you will need to use this method...

Here is a little example, that checks to see if a .swf file exists, and if it does, then it loads it into a movieclip.

Actionscript:
  1. fileExists=new LoadVars();
  2. fileExists._parent=this;
  3. fileExists.onLoad=function(success)
  4. {
  5. //success is true if the file exists, false if it doesnt
  6.     if(success)
  7.     {
  8.         //the file exists
  9.         var nm=this._parent.createEmptyMovieClip('swfHolder',1); //so create a movieclip
  10.         nm.loadMovie('myfile.swf'); //and load our .swf file into it
  11.     }
  12. }
  13. fileExists.load('myfile.swf') //initiate the test

You can do the same with any file type, even if flash doesnt support the loading of that filetype.

You may also be wondering if the above process means you have to load a file twice, the answer is NO. If you are running you flash movie in the browser, then when you check to see if the file exists, the onLoad even handler wont fire until the file has fully downloaded into the browsers cache, but of course the Loadvars object wont do anything with an image file, sound file, or swf file. The next time round, when it comes to actually loading the file to actually display it(swf,image,text) or play it(sound) the file will load almost instantly from the browsers cache. If your flash movie is running on the local machine, then you dont have to worry about loading times anyway, because, as always the loading of a file locally is almost instant.



Note: This is an old article!

Please be aware that the content of this article may no longer be accurate and the links contained within could be broken.

Update Notifications

You can add our RSS feed to your favorite feed reader or recieve an email when a new article is posted by entering your email address below.

    Shu Player allows you to distribute your AIR Applications to users that dont have the AIR Runtime by converting them to standalone applications. Shu Player also adds more commands to do things like open external applications etc...


    If you hate the Adobe Updater like most of us, then just get rid of it.


    Want to quickly find out what version of the Flash Player a client has installed? Send them to www.playerversion.com


    Yet more pv3d goodness. Im loving this funky 3D Flash Lab, the work of Mathieu Badimon. [Update: Apparently this uses Five3D not PaperVision]


    There is an old interview with me on The FWA, its fairly long at 8 pages.


    If you do alot of travelling then it makes sense to get yourself a Priority Pass, which will get you access to over 500 airport lounges worldwide, regardless of whether your flying enconomy, business or first.


    Freelance Switch is a freelancer community with forums, jobs, daily tips and a complete 212 page e-book titled "How to be a rockstar freelancer" for sale.


    Lots of new media jobs at Creative Pool.


    BBC IPlayer is awesome, but its ashame that BBC News is still using Windows Media Player and Real video. Real player is officially badware.


More In Actionscript


More In Adobe Flash


More In Freelancing