views:

140

answers:

1

I have a SharePoint calendar event that can have any type of file as attachment. Is there any way to access the contents of the file/ download them? I have to calculate the check sum of these files.

+1  A: 
string siteURL = "http://yourserver/yourpathtothesite";
using (SPSite site = new SPSite(siteURL))
{
    using (SPWeb web = site.OpenWeb())
    {
        string listName = "Events";
        SPList calendarList = web.Lists[listName];

        // get whatever item you are interested in
        SPListItem item = calendarList.GetItemById(1);

        foreach (String attachmentname in item.Attachments)
        {
            String attachmentAbsoluteURL = item.Attachments.UrlPrefix + attachmentname;

            // To get the SPSile reference to the attachment just use this code
            SPFile attachmentFile = web.GetFile(attachmentAbsoluteURL);

            // To read the file content simply use this code
            Stream stream = attachmentFile.OpenBinaryStream();
            StreamReader reader = new StreamReader(stream);
            String fileContent = reader.ReadToEnd();
        }

    }
}

Source: http://www.dotnetking.com/TechnicalComments.aspx?LogID=352

Kit Menke