Is there a way to escape special characters in filenames passed to externalfigure.  I'm encountering the situation where users are choosing images that may contain brackets or curly braces (e.g., flower[1].jpg or flower{1}.jpg).  If I pass filename containing these characters directly to externalfigure, the closing bracket is mistaken for the end of the filename.
\externalfigure[flower{1}.jpg] % works
\externalfigure[flower[1].jpg] % doesn't work

I then tried to define a variable that holds the filename and pass that variable to externalfigure, but it ran into problems with curly braces.

\def\myimagefilename{flower[1].jpg}
\externalfigure[\myimagefilename] % works

\def\myimagefilename{flower{1}.jpg}
\externalfigure[\myimagefilename] % doesn't work

Does anyone have any idea how I could handle arbitrary filename inputs that contain brackets and curly braces?

Cheers,
Mike