J'ai regardé un peu dans les sources de Firefox dans netwerk / protocol / data / nsDataHandler.cpp
le gestionnaire de données analyse uniquement le contenu / type et le jeu de caractères et recherche s'il y a "; base64" dans la chaîne
le 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 plus ".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
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 pense qu'il n'y en a pas :)
comme remarqué dans ce thread, html5 a un download
attribut, il fonctionne également sur firefox 20 http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#attr-hyperlink-download