SharePoint: Как программно добавить вложение в элемент списка? - PullRequest
6 голосов
/ 26 августа 2009

У меня есть следующий код:

  SPList list = web.Lists[this.ListName];
  SPListItem item = list.Items.Add();

Теперь я хочу сделать следующее:

   FileInfo[] attachments = attachmentDirectory.GetFiles();
        foreach (FileInfo attachment in attachments)
        {
           // Add the attachment from file system to the list item...

        }

Как преобразовать обычный файл в байтовый массив?

Ответы [ 2 ]

12 голосов
/ 26 августа 2009
 foreach (FileInfo attachment in attachments)
        {
            FileStream fs = new FileStream(attachment.FullName , FileMode.Open,FileAccess.Read);

            // Create a byte array of file stream length
            byte[] ImageData = new byte[fs.Length];

            //Read block of bytes from stream into the byte array
            fs.Read(ImageData,0,System.Convert.ToInt32(fs.Length));

            //Close the File Stream
            fs.Close();

            item.Attachments.Add(attachment.Name, ImageData); 


        }
4 голосов
/ 26 августа 2009

Может быть, это укажет вам полезное направление:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spattachmentcollection.aspx

также это может помочь

http://msdn.microsoft.com/en-us/library/lists.lists.addattachment.aspx

...