ios - 如何使用 react.js 在浏览器中打开 .vcf 文件而不显示下载消息
问题描述
我试图在创建 .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);
解决方案
推荐阅读
- python - 如何删除数组中的多行
- node.js - 当我尝试将 express 添加到我的第一个 react 应用程序时,为什么会出现 TypeError
- ibm-cloud - 如何在通过 ibmcloud CLI 创建新的经典虚拟服务器时启用暂停计费
- linux - 在 pi 上流式传输视频的更有效方式
- corda - Reg : 为特定的 CordaVersion=4.x 构建 CorDApp
- authentication - 为基于 SMS OTP 的登录扩展身份
- database - 你如何保存矢量的内容?
- javascript - 访问任何 DOM 按钮以应用 Javascript 中的 addEventListener 事件可能有什么问题?
- javascript - 单击饼图切片时不显示引导模式
- pycharm - 为什么pycharm无法识别模块?