最近因公司项目需求,需要实现业务平台根据用户信息自动生成vcard文件,并在移动端wap网站提供下载导入客户端的通讯录。看似简单的需求,却因为各种问题,折腾了许久,做了很多的尝试,才得以解决。
一、编码问题:
先来看下最初的示例:
string fileName = dirPath + "\\" + fileName + ".vcf";
using (StreamWriter stringWrite = new StreamWriter(fileName, false, Encoding.Default))
{
stringWrite.WriteLine("BEGIN:VCARD");
stringWrite.WriteLine("VERSION:3.0");
stringWrite.WriteLine("N:" + name);//姓名
stringWrite.WriteLine("ORG:" + company);// 公司
stringWrite.WriteLine("TEL;WORK;VOICE:" + job);//手机1
stringWrite.WriteLine("TEL;CELL;VOICE:" + workPhone);//手机2
stringWrite.WriteLine("TEL;PREF;VOICE:" + mobilePhone);//电话
stringWrite.WriteLine("EMAIL;PREF;INTERNET:" + email);//邮箱
stringWrite.WriteLine("URL;WORK:" + wangzhi);//网址
st