web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :

Extracting Attachment from InfoPath form using C#

Nishant Rana Profile Picture Nishant Rana 11,325 Microsoft Employee

The sample code for extracting attachment from submitted InfoPath form

var lstTimeSheet = new List<RelatedTimesheet>();
 foreach (var timeSheet in invoiceFormData.Summary.Timesheet)
 {
 if (timeSheet.Attachment != null)
 {
 var tSheet = new RelatedTimesheet();
 var b = timeSheet.Attachment;
 var nameBufferLen = b[20] * 2;
 var fileNameBufffer = new byte[nameBufferLen];
 for (var i = 0; i < nameBufferLen; i++)
 {
 fileNameBufffer[i] = b[24 + i];
 }

 var charFileName = Encoding.Unicode.GetChars(fileNameBufffer);
 var fileName = new string(charFileName);
 tSheet.FileName = fileName.Substring(0, fileName.Length - 1); 

 var fileContent = new byte[b.Length - (24 + nameBufferLen)];
 for (var i = 0; i < fileContent.Length; i++)
 {
 fileContent[i] = b[24 + nameBufferLen + i];
 }

 tSheet.Attachment = fileContent;
 lstTimeSheet.Add(tSheet);
 }
 }

public class RelatedTimesheet
{
 public string FileName { get; set; }
 public byte[] Attachment { get; set; }
}

Filed under: C#, InfoPath Tagged: C#, InfoPath

This was originally posted here.

Comments

*This post is locked for comments