In this article I will explain with an example, how to read vCard (.VCF) file information in ASP.Net using C# and VB.Net.
 
 

VCF Contact Cards

A vCard (.VCF) file is a standard for electronic business cards. vCards are used for storing and sharing Contact Information such as name, email, phone numbers, address, etc.
Read and Import vCard (.VCF) file information in ASP.Net
 
 

Install Thought.vCards package

In order to install Thought.vCards library using Nuget, please refer my article Install Thought.vCards Nuget Package.
 
 

HTML Markup

The HTML Markup consists of following controls:
Image – For displaying image.
Label – For displaying vCard (.VCF) file information.
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td rowspan="10" valign="top">
            <asp:Image ID="imgPhoto" runat="server" /> 
        </td>
    </tr>
    <tr>
        <td>Name:</td>
        <td><asp:Label ID="lblName" runat="server" /></td
    </tr>
    <tr>
        <td>Company Name:</td>
        <td><asp:Label ID="lblOrganization" runat="server" /></td
    </tr>
    <tr>
        <td>Title (Position):</td>
        <td><asp:Label ID="lblTitle" runat="server" /></td
    </tr>
    <tr>
        <td>Mobile Number:</td>
        <td><asp:Label ID="lblMobileNumber" runat="server" /></td
    </tr>
    <tr>
        <td>Home Number:</td>
        <td><asp:Label ID="lblHomeNumber" runat="server" /></td
    </tr>
    <tr>
        <td>Work Number:</td>
        <td><asp:Label ID="lblWorkNumber" runat="server" /></td
    </tr>
    <tr>
        <td>Email Address:</td>
        <td><asp:Label ID="lblEmailAddress" runat="server" /></td
    </tr>
    <tr>
        <td>Website:</td>
        <td><asp:Label ID="lblWebsite" runat="server" /></td
    </tr>
</table>
 
 

Namespace

You will need to import the following namespace.
C#
using Thought.vCards;
 
VB.Net
Imports Thought.vCards
 
 

Reading and Importing vCard (.VCF) file information in ASP.Net

Inside the Page_Load event handler, the vCard (.VCF) class object is created and path of the vCard file is passed as parameter to it.
The information such as Name, Organization, Phone Numbers, Email Addresses, Websites, Photo and etc. of the contact are retrieved and set in their respective Label.
Then, a check is performed if Information such as Phone Numbers, Email Addresses and Websites is present in the vCard (.VCF) file, if present then it is set to their respective Label.
After that, if photo count is greater than 0 then BYTE Array is determined using GetBytes method and converted to BASE64 string and assigned to the ImageUrl property of the Image control.
C#
protected void Page_Load(object sender, EventArgs e)
{
    //Read the vCard file into a vCard object.
    vCard card = new vCard(Server.MapPath("~/vCards/Mudassar Khan.vcf"));
 
    //Read Name.
     lblName.Text = card.FormattedName;
 
    //Read Organization.
    lblOrganization.Text card.Organization;
 
    //Read Title.
    lblTitle.Text card.Title;
 
    //Read Cell Phone Number.
    if (card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) != null)
    {
        lblMobileNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber;
    }
 
    //Read Home Number.
    if (card.Phones.GetFirstChoice(vCardPhoneTypes.Home) != null)
    {
        lblHomeNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber;
    }
 
    //Read Work Number.
    if (card.Phones.GetFirstChoice(vCardPhoneTypes.Work) != null)
    {
        lblWorkNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Work).FullNumber;
    }
 
    //Read Email Address.
    if (card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet) != null)
    {
        lblEmailAddress.Text card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address;
    }
 
    //Read Website URL.
    if (card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) != null)
    {
        lblWebsite.Text card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url;
    }
 
    //Read Photo.
    if (card.Photos.Count > 0)
    {
        imgPhoto.ImageUrl "data:image/png;base64," + Convert.ToBase64String(card.Photos[0].GetBytes());
    }
}
 
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    'Read the vCard file into a vCard object.
    Dim card As New vCard(Server.MapPath("~/vCards/Mudassar Khan.vcf"))
 
    'Read Name.
     lblName.Text = card.FormattedName
 
    'Read Organization.
    lblOrganization.Text card.Organization
 
    'Read Title.
    lblTitle.Text card.Title
 
    'Read Cell Phone Number.
    If card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular) IsNot Nothing Then
        lblMobileNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Cellular).FullNumber
    End If
 
    'Read Home Number.
    If card.Phones.GetFirstChoice(vCardPhoneTypes.Home) IsNot Nothing Then
        lblHomeNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Home).FullNumber
    End If
 
    'Read Work Number.
    If card.Phones.GetFirstChoice(vCardPhoneTypes.Work) IsNot Nothing Then
        lblWorkNumber.Text card.Phones.GetFirstChoice(vCardPhoneTypes.Work).FullNumber
    End If
 
    'Read Email Address.
    If card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet) IsNot Nothing Then
        lblEmailAddress.Text card.EmailAddresses.GetFirstChoice(vCardEmailAddressType.Internet).Address
    End If
 
    'Read Website URL.
    If card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal) IsNot Nothing Then
        lblWebsite.Text card.Websites.GetFirstChoice(vCardWebsiteTypes.Personal).Url
    End If
 
    'Read Photo.
    If card.Photos.Count > 0 Then
        imgPhoto.ImageUrl "data:image/png;base64," + Convert.ToBase64String(card.Photos(0).GetBytes())
    End If
End Sub
 
 

Screenshot

Read and Import vCard (.VCF) file information in ASP.Net
 
 

Downloads



Other available versions