netwerk / protocol / data / nsDataHandler.cpp의 파이어 폭스 소스에서 조금 보았습니다.
Data Handler는 내용 / 유형 및 문자 세트 만 구문 분석하고 문자열에 "; base64"가 있는지 확인합니다.
rfc는 파일 이름을 지정하지 않으며 최소한 firefox는 파일 이름을 처리하지 않습니다. 코드는 임의의 이름에 ".part"를 추가합니다.
파이어 폭스 로그도 확인했습니다.
[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
모질라 소스를보고 싶다면 흥미로운 파일 :
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
나는 당신이 해결책을 찾지 않을 수 있다고 생각합니다.
이 스레드에서 알 수 있듯이 html5는 download
속성을 가지고 있으며 firefox 20에서도 작동합니다 .