title: get attachment from Bot user and store for future use
body: <p>I am working on a bot where I need to collect some information from the user to create an order along with the attachment. I am using form flow to collect the information and using the information for creating the Ticket/Order. How can I receive attachment from the receiver and use it with other infoirmation for processing order.</p>
  
  <p>Below is the form code I'm currently working with</p>
  
  <pre><code> [Serializable]
  public class SupportTicketForm
  {
  
      [Prompt("Please choose # category... {||}", ChoiceStyle = ChoiceStyleOptions.Buttons)]
      public string Category;
  
      [Prompt("Please choose  # sub category... {||}", ChoiceStyle = ChoiceStyleOptions.Buttons)]
      public string Subcategory;
  
      [Prompt("We need some more details to create the request, provide me your **Contact Number**...")]
      //[Pattern(Validations.Phone)]
      [Required(ErrorMessage = "Contact Number is required")]
      public int ContactNumber;
  
      [Prompt("Please provide **Details** for the technician to diagnose probolem ...")]
      public string Description;
  
      [Prompt("Please provide **Justification**...")]
      public string Justification;
  
      //[Optional]
      //[AttachmentContentTypeValidator(ContentType = "png")]
      //public AwaitableAttachment AttachImage;
  
  
      public static IForm&lt;SupportTicketForm&gt; BuildForm()
      {
          List&lt;Category&gt; categories = CategoryDataService.GetCategories() ?? new List&lt;Category&gt;();
  
          return new FormBuilder&lt;SupportTicketForm&gt;()
                   .Field(new FieldReflector&lt;SupportTicketForm&gt;(nameof(Category))
                  .SetType(null)
                  .SetDefine(async (state, field) =&gt;
                  {
                      try
                      {
                          categories.ForEach(x =&gt;
                          {
                              field.AddDescription(x.Name, x.Name).AddTerms(x.Name, x.Name);
                          });
                      }
                      catch (Exception exception)
                      {
  
                      }
                      return true;
                  }))
                  .Field(new FieldReflector&lt;SupportTicketForm&gt;(nameof(Subcategory))
                  .SetType(null)
                  .SetDefine(async (state, field) =&gt;
                  {
                      try
                      {
                          if (!string.IsNullOrEmpty(state.Category))
                          {
                              categories.FirstOrDefault(x =&gt; x.Name.Equals(state.Category)).Subcategories.ToList().ForEach(x =&gt;
                                {
                                    field.AddDescription(x, x).AddTerms(x, x);
                                });
                          }
                      }
                      catch (Exception exception)
                      {
  
                      }
                      return true;
                  }))
                  .Field(nameof(ContactNumber))
                  .Field(nameof(Description))
                  .Field(nameof(Justification))
                 // .Field(nameof(AttachImage))
  
                  .Confirm(async (state) =&gt;
                  {
                      return new PromptAttribute("**Please review your selection, I'll create a ticket for you..!!**" +
                           " \r\n\r\n Category : {Category}," +
                           " \r\n\r\n SubCategory : {Subcategory}," +
                           " \r\n\r\n Contact Number : {ContactNumber}," +
                           " \r\n\r\n Description : {Description}, " +
                           " \r\n\r\n Justification : {Justification}." +
                           " \r\n\r\n Do you want to continue? {||}");
                  })
                  .Build();
      }
  }
  </code></pre>
  
  <p>How can I receive attachement with it.?</p>