Do you really need a file? Or do you want people just to be able to download it?
I did a .vcf download recently: VCF / Vcard generation in template
You can link to a virtual file and it triggers the vcf template to generate a vcf with the latest data from the page.
Maybe it helps.