VCard没有在我的移动应用中检测到

时间:2014-01-06 17:51:14

标签: asp.net-mvc qr-code barcode-scanner

您好我不知道我应该在哪个类别中提出这个问题,但由于我在ASP.NET MVC中实现了VCard,我将这个问题放在这个类别中。

基本上我正在研究VCard代码生成器项目。我正在使用查询字符串。 问题是当我在我的移动应用程序中扫描代码时,它没有检测到VCard。这是我的代码:

  QrString += "var compiled_card_data = \"BEGIN:VCARD\" + \";\" +";
            QrString += "\"VERSION:3.0\" + \";\" +";
            QrString += "\"N:\" + lastname + \";\" + firstname + \";\" +";
             QrString += "\"FN:\" + firstname + \";\" +";  
            QrString += "\"URL:\" + url + \";\" + ";
            QrString += "\"EMAIL:\" + email + \";\" +";
            QrString += "\"TEL:\" + telephone + \";\" +"; 
            QrString += "\"ADR:\" + pobox + \",\" + room + \",\" + house + \",\" + city + \",\" + prefecture + \",\" + zip + \",\" + country + \",\" + company + \",\" + fax + \";\" +";
            QrString += "\"TITLE:\"  + job + \";\" +";
            QrString += "\"NOTE:\" + note + \";\" +";
            QrString += "\"END:VCARD\" +";
            QrString += "\";\";";

有人能告诉我,这种格式是否正确以及我在这里做了什么错误?

更新: 我使用了这样的新行字符:

  QrString += "var compiled_card_data = \"BEGIN:VCARD\" \r\n ";
            QrString += "\"VERSION:3.0\" \r\n ";
            QrString += "\"N:\" + lastname + \";\" + firstname \r\n ";
            QrString += "\"FN:\" + firstname \r\n ";
            QrString += "\"URL:\" + url \r\n ";
            QrString += "\"EMAIL:\" + email \r\n ";
            QrString += "\"TEL:\" + telephone \r\n ";
            QrString += "\"ADR:\" + pobox + \",\" + room + \",\" + house + \",\" + city + \",\" + prefecture + \",\" + zip + \",\" + country + \",\" + company + \",\" + fax \r\n ";
            QrString += "\"TITLE:\"  + job \r\n ";
            QrString += "\"NOTE:\" + note \r\n ";
            QrString += "\"END:VCARD\" \r\n ";
            QrString += "\";\";";

enter image description here

1 个答案:

答案 0 :(得分:0)

每行\n的末尾都应该有换行符。

如果不起作用,请张贴生成的QR图像。

典型的(最小)vCard将如下所示。

QRstring = "BEGIN:VCARD\n";
QRstring += "N:" + lastname +  ";" + firstname +"\n";
QRstring += "EMAIL:" + email + "\n";
QRstring += "END:VCARD";

尝试让vCard首先使用一个或两个字段。这将帮助您找到错误的位置。