我试图在创建 .vcf 后在 safari 中打开它,但它显示了下载选项和查看选项,如您在图像中看到的那样。
我不想显示下载消息。我想要的是打开 temp.vcf 文件,以便用户可以将其保存到手机。我的代码是
handleVCF() {
const FileSaver = require('file-saver');
var socilaURls = "";
var telNum = "";
this.state.socialLinks.forEach((doc)=>{
if (doc.inCntctForm === true){
if (doc.mediaTmp === "Text"){
telNum = "\nTEL;type=CELL;type=VOICE;type=pref:"+doc.mediaId;
}
else{
var ret = doc.mediaId.replace('https://www.','');
ret = ret.replace('HTTPS://www.','');
ret = ret.replace('http://www.','');
ret = ret.replace('HTTP://www.','');
socilaURls = socilaURls+"\nX-SOCIALPROFILE;TYPE="+doc.mediaName+";CHARSET=UTF-8:x-user="+ret+":"+doc.mediaUrl;
}
}
})
var userNameTmp = "";
if (this.isNameInclude === "true"){
userNameTmp = this.state.fullName;
}else{
userNameTmp = "user"
}
var file = new Blob(
[
`BEGIN:VCARD
VERSION:4.0
N:${userNameTmp};;;
PHOTO;ENCODING=b;TYPE=JPEG:${this.base64Image}
${telNum}
EMAIL;type=INTERNET;type=pref:${this.state.email}
item1.URL:${this.state.profileUrl}
item1.X-ABLabel:My Dappy profile
${socilaURls}
NOTE;CHARSET=UTF-8:Hard press on the profile picture above to save this contact to your phone!
END:VCARD`
],
{ type: "text/vcard;charset=utf-8" }
);
FileSaver.saveAs(file,"temp.vcf");
window.open(file);