J'ai regardé un peu dans les sources de firefox dans netwerk/protocol/data/nsDataHandler.cpp
Le gestionnaire de données analyse seulement le contenu/type et le jeu de caractères, et regarde s'il y a ";base64" dans la chaîne de caractères. dans la chaîne
la rfc ne spécifie aucun nom de fichier et au moins firefox ne gère aucun nom de fichier pour cela, le code génère un nom aléatoire avec ".part".
J'ai également vérifié le journal de Firefox
[b2e140]: DOCSHELL 6e5ae00 InternalLoad data:application/octet-stream;base64,SGVsbG8=
[b2e140]: Found extension '' (filename is '', handling attachment: 0)
[b2e140]: HelperAppService::DoContent: mime 'application/octet-stream', extension ''
[b2e140]: Getting mimeinfo from type 'application/octet-stream' ext ''
[b2e140]: Extension lookup on '' found: 0x0
[b2e140]: Ext. lookup for '' found 0x0
[b2e140]: OS gave back 0x43609a0 - found: 0
[b2e140]: Searched extras (by type), rv 0x80004005
[b2e140]: MIME Info Summary: Type 'application/octet-stream', Primary Ext ''
[b2e140]: Type/Ext lookup found 0x43609a0
des fichiers intéressants si vous voulez regarder les sources de Mozilla :
data uri handler: netwerk/protocol/data/nsDataHandler.cpp
where mozilla decides the filename: uriloader/exthandler/nsExternalHelperAppService.cpp
InternalLoad string in the log: docshell/base/nsDocShell.cpp
Je pense que vous pouvez arrêter de chercher une solution pour l'instant, car je soupçonne qu'il n'y en a pas :)
comme on l'a remarqué dans ce fil de discussion, html5 a download
attribut, il fonctionne aussi sur firefox 20 http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#attr-hyperlink-download