我想在前端创建一个vCard,并使其可以在ReactJs项目中下载(通过单击按钮)。我使用名为vcards-js
的NodeJS模块创建一个包含所需vCard(v3.0)内容的字符串。我正在努力的事情是使其可下载(作为.vcf文件)。我试图通过模块react-file-download
和file-saver
来实现这一点,但它们都没有正常工作。最后一个在桌面上运行良好,但无法从移动浏览器提供下载。 Chrome移动设备打开了一个新的标签并永久加载,Safari移动版刚刚在新版本中打开了该字符串,但未将其下载为.vcf文件。
任何线索或经历?我是否需要创建vCard服务器端并提供下载链接?对我来说似乎太迂回了。
如果有帮助,这是我的file-saver
方法:
var FileSaver = require('file-saver');
var blob = new Blob([card.getFormattedString()], {type: "text/x-vCard;charset=iso-8859-1"});
FileSaver.saveAs(blob, 'card.vcf');
答案 0 :(得分:0)
我正在查看vcardjs上的文档 https://github.com/enesser/vCards-js
你必须在节点的后端有一条路由来处理这个过程
看起来非常直观 //保存到文件 vCard.saveToFile( './ ERIC-nesser.vcf');
答案 1 :(得分:0)
您可能想尝试使用NodeJS / TS软件包在后端生成它: npm/ez-vcard; GitHub/Maxim-Mazurok/ez-vcard