Okay, I may be the last person fiddling with Flash to discover this, but here's what I've learned today:

Flash MX hates progressive JPEGs.

From the above: "The Macromedia Flash Player does not have a decompressor for progressive JPEG images, therefore files of this type cannot be loaded dynamically and will not display when using the loadMovie action."

This would have been nice to know, hours ago. Or maybe fixed in the past year or so since the above linked tech note. See, although I'm a Jack of a lot of Trades, I don't really pay attention much to things like JPEGs and their progressive natures. It wasn't until I finally started randomly clicking buttons on and off in Macromedia Fireworks while exporting a test JPEG that I finally narrowed down the problem.

This was after a day worth of examining ActionScript, XML data, HTTP headers, and a mess of other random dead ends. And a lot of last-ditch random and exhaustive twiddling of checkboxes and options.

Then, once I had the words I wouldn't have had unless I already knew what my problem was, a Google search for "flash progressive jpeg" got me all kinds of info.

Problem is, the JPEGs supplied to the particular Flash app on which I'm hacking come from a random assortment of people working through a content management system on the backend. They upload them with a form in their browser, and this Flash app gets a URL to the image via an XML doc it loads. Me, I'm probably in bed when this happens. I'd love to have tested every one... er, rather, no I wouldn't.

So... Now I just have to figure out how to get all these people to start making sure that their JPEGs aren't progressive. Hmph.

I can only hope that this message gets indexed and maybe provides more triangulation for some other poor sucker in the future.


Archived Comments

  • FYI : http://studio.imagemagick.org/pipermail/magick-users/2003-May/008922.html
  • Wow... and here's me just embarking on a project in Flash that's going to have to deal with JPEGs uploaded by random people on the web. Thank you, I think you've just saved me a lot of trouble.
  • And of course, there's always the GD library, too, which may or may not be easier to install than ImageMagick. Many PHP environments already have it, in case that helps. Yaarrr! Just gdImageCreateFromJpeg, gdImageInterlace, then gdImageJpeg, and you can get a non-interlaced version of your image.
  • Just another option I stumbled across: http://www.img2swf.com/about.htm