sharepointsharepoint-2007sharepoint-apisharepoint-2003

Accessing SharePoint Event Attachment


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.


Solution

  • 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