I've created a Flex application and the size of the swf file is ~900KB. My trouble is that the files are not getting cached. When I launch the application for the second time, the swf file is fetched again from the server. I'm including the swf file in a jsp, and I'm not modifying any HTTP Caching Headers. I assumed that the swf files will be cached automatically. Isn't it so? How do I forcefully cache the file? Do I need to provide anything in the MXML code or just a response.setHeader("Cache-Control","max-age=100"); is enough? Can anything be done from the flex side itself?
I'm new to Flex and want to learn about how to implement client-side caching for data that is repeatedly requested from the server.
Let's focus on a simple example to discuss caching. Take a Flex application having several screens, where each screen plots a line series (of x and y data). The user can switch between the screens, and each time a screen is visited or re-visited, numerical arrays for both x and y data are requested from the server. The values of the x and y data on the server, of course, never change.
I want to learn what techniques are available that could be used to implement caching in the browser or AIR application such that once the x and y data is downloaded the first time, the application pulls these arrays from cache when re-visiting this screen in the future.
I have an online flex app that is served via an html page. Its critical that the flex app is refreshed in the user's cache every time that it changes. To help ensure that this happens, I change the name of the swf file every time that it changes. In addition, the html page contains the following lines of code:
Using these techniques, FF and IE always seem to grab the latest swf file every time. Google chrome, however, NEVER gets the latest swf file - the only way to get the update is to hit shift+refresh in chrome.
Is there a fail-safe way for me to ensure that the latest swf file is always delivered to the browser?
Is there way force the browser to retain previously viewed FLV files? I've noticed using the normal netstream set-up that even if you've fully loaded and viewed a video it will have to load it again from scratch each time you come back to it. Shouldn't the file be in the user's cache?
Why on earth doesn't Safari on Windows use cached files...
When the movie's been downloaded and cached for IE & FF, on a refresh, Safari insist on re-downloading a fresh file from the server, again & again...
If it does, where the hell in Settings can you set it so that it'll favor cached files if they exist, rather than downloading a fresh one from the server...
How to prevent caching of swf files?Have somebody any link on tutorial.I read this page hurl...but | know is it possibilitity to generate somehow every time a new SWF name.
I am trying to write a client side app that would download a number of mp3 files, then cache them to the harddrive. I can download the mp3 files using URLLoader and access the raw mp3 data via URLLoader.data. But how do I save them to disk without the benefits of AIR only classes
I'm having trouble with my text and xml files seeming to be cached. They are altered by a php script called from flash, and this overwrites the text files correctly, but when they are reloaded into flash (eg. when the page is refreshed) the old data is still being used.I was reading this article and was interested in this line:
Code: input_xml.load(xml_file + "?uniq=" + new Date().getTime());
could someone please explain why this would work, and whether this would prevent the problem that I'm having. I'm presuming that this unique number is never used in any way, it just forces the new file to be loaded, but I'm just a bit unsure why.
I am working on an Adobe AIR (2.0) application that contains a feature to allow users to print documents (such as salary slips). Those documents are originally in PDF format. Due to circumstances we cannot directly display those PDFs in the AIR application (for example using flash.html.HTMLLoader). Therefore we convert the PDFs to SWFs (using the pdf2swf tool, see The SWFs are loaded into the application using a mx.controls.SWFLoader, like so:
The problem is class files being cached in external swfs when they are loaded into another swf. (as2-cs3). In a nutshell, we've got a clip on the stage that is linked to a class. You can make changes to the class, pub the swf and everything works fine. When we then load that swf into our application swf, the changes are all lost, and it "reverts back" to a previous version of the class.
When not cacheing an HTML page, any movies or anything you load INTO that flash file through loadMovie or loadVars still gets cached... I use senoculars script to prevent this...
[URL]
and 2) Yes you can stop the cacheing of your page...
[URL]
Use this information wisely my friend
i came across this post by lostinbeta to stop cacheing, but the link for the one to stop cacheing files loaded through loadMovie and loadVars doesn't work. know how to get to it, or what the as was?
In my main movie I am loading external swf files. The proplem is that these files are cached so when they load the updates aren't shown. I've read some stuff about loading vars or xml with a random function to prevent it from caching, can that work with swf files? Maybe something like:
I've placed the meta tags in the main html to stop that from caching; which doesn't really work. Could the same be applied in the html? Or maybe a php function when loading the main flash movie?
The files that are loaded are only a few kb so I'm not worried about the user having to load the files everytime.
I'll ONLY recieve an "Error #3000: Illegal path name" if I try to open a file which is placed inside the app-folder of the air. If the file is somewhere else outside of the app-folder it works.
private var file:File = File.documentsDirectory; public function download():void{ var pdfFilter:FileFilter = new FileFilter("PDF Files", "*.pdf");
[Code]....
When i try to get the same file and copy it to another place it's doing fine.
Why that? Something special to do if i wanna open files which are inside the appfolder? It also don't work in debug mode - bin-debug.
Hey the think is, I need to play some swf file inside my flex 4 app, sometimes this swf file can be a Video, or just a object animated, I have a placeholder in my app which I want to play this swf file, how can I do this?
I'm building an AIR application which will be used to edit slideshows for another app (also built by me, but not in AIR). The slideshows and other data are defined in several xml files which are in the other application's program folder. When trying to load these into my AIR app I get the following error:
fault(mx.messaging.messages::ErrorMessage)#0 body = "" clientId = "DirectHTTPChannel0"
I haven't written anything in Flex in a couple years and much has changed since. I used Flash Builder 4.6 to build my app now I want to deploy it to a ASP.NET application. What files other than the swf do I need to deploy to ensure everything works for my users? I see in the bin-debug folder of the project it spits out a bunch of swfs (framework, rpx, playerProductInstall, spark, etc) and the swfobject.js. Do I need all these files deployed to the same location as my swf?
I am working with a very large number of legacy SWFs written in AS1 and AS2. These SWFs use loadMovieNum extensively.
I am trying to integrate these into a new Air-based app (written in either AS3 or Flex). However, loadMovieNum doesn't seem to work within the Air app.
For example, an AS2 SWF (file1.swf) may try to load another AS2 SWF using:
I am using many external swf file in my flex application,but when i use the files which are in same name its not getting refreshing properly, so i need to delete my temp file without refreshing the application.
I've programmed a Java application using BlazeDS and Flex, but i think the problem also occurs in any ajax style application. It's a monitoring application, so requests are made regularly to the server. The browser has stored a large amount of temporary internet files on the client pc even getting it saturated. How I can avoid this? I have seen some articles that say to include variables in the html header as:
I have an AIR app that gets bundled with XML files that the app needs. These get put into the APP Storage Directory, of course. Works great. But when I install a new version ( which includes new XML files) , the new files don't get added or overwrite the ones from the previous version. It seems that if that directory is there from a previous install, the installer will ignore the part where it moves included files.
I have this PHP page that lists several people. When someone clicks on one of the people they are sent to another PHP page that has their video greeting in a .swf embedded into the page. This works by the php writing the path to the greeting video to the xml file that the .swf loads and plays.
Well in firefox it works perfect, but in IE when they try to click on another greeting the original greeting still plays. Its like the swf is caching the first greeting and refresh of the page does nothing to alleviate this. Is this a problem with the swf caching? or XML caching? or am I totally clueless?
I have a project that is for several customers, the only difference is in the DB, everything else looks the same, except for the main page's text. That is loaded from an external swf file. I created a library, compiled it as an swc, imported it and using it as an RSL. The problem is that if once I've opened the page, and afterwards update the rsl (because changes in the text are needed), than it's already cached by the browser (not the flashplayer's cache but we shouldn't discuss this please!) and the updated swf won't be loaded. If I use it as an external, the page won't even start up (the browser says it's loaded, but it's blank, not even the loading progess bar of flex appear)
this is the code on the main page, if I comment this out, than the whole thing loads, even with the use of the "external" link-type. in the design view, I see the component, but I get a warning for the library:
Design mode could not load MainPage.swc. It may be incompatible with this SDK, or invalid.DesignAssetLoader.CompleteTimeout)
i pass text strings from a configuration file into my Flex app, one of the strings i pass in is a mailto link which i use to allow users of my app to send me feedback. I recently needed to change this link however when i updated the link in my config file the change did not happen instantly in my Flex app. In fact i had to clear my cache (both browser and flash player) before the change showed up. This of course is fine for me but how can i be sure that users of the application also get the updated content? Is there a way to force a refresh of data loaded into my swf on other users browsers?
Finally is this an issue with my browser cache or the Flash player cache? Does the flash player only keep such data, like my email address, in memory while the app is in use and then clear once it is closed or does it cache this data for the next time the user wants to use the app?
I am developing an eLearning application in Flex which shows flv movies hosted on a webserver. If the app has many simultaneous users the download demand is quite high because a lot of users need to download the (same) movie(s). Is there a way I can precache this data in my flex client like storing it in the browsercache or something so that for later sessions the bandwidth demand is less high?
I have the following problem, I have a flex application that works as a frontend in a client-server-application. In my application I have two sliders and a chart that moves when I drag the sliders, now when I have the following positions
slider 1: 10 slider 2: 20
a request is sent to the server and the response back to my flash. When I now change the sliders to
slider 1: 10 slider 2: 30
another request is sent to the server, because we have changed the position of slider 2. When I now turn the sliders again to the first position.
slider 1: 10 slider 2: 20
no request is sent to the server and the chart is moved correctly because the flash seems to know what he will receive, I think the application has cached the result. This effect only works when I open the flash application in the flash player. When I open it in the browser every slider position leeds to another request to the server. Is there a way to enable the caching also when I open it in the browser?
I'm attempting to create a Flex Project that will cause the Flash Player to cache the Flex framework. Flex Builder comes with Flex SDK 3.2.0.3958 and setting the Framework Linkage to use Runtime shared Library (RSL) under Project Properties -> Flex Build Path will separate the framework from my main application and I see that my project's bin-debug directory contains framework_3.2.0.3958.swf and *.swz for distribution.Flex SDK 3.4 fixes a few bugs, so I configured it as another available sdk and set it as the default SDK. When I compile, I expect the bin-debug directory to contain framework_3.4.0.9271.swf and *.swz; however, Flex Builder is still writing framework_3.2.0.3958.swf and *.swz.
I've got the following Javascript for creating the HTML of video player. I use Javascript because this is the only way I can tell the player which video to play.
[Code]...
The problem is FlexPlayer.swf is loading every time and I need to cache this SWF file. Maybe I should use Javascript constructor but don't know how in this case.