2009-08-26 3 views
6

Ho il seguente codice:SharePoint: come aggiungere un allegato a una voce di elenco in modo programmatico?

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

ora quello che voglio fare è:

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

     } 

Come faccio a convertire un file normale per un array di byte?

risposta

12
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); 


     }