2017-04-14 4 views
0

Microsoft Bot Framework FormFlow에서 업로드 된 파일을 수신하는 방법을 궁금합니다.양식 흐름 내에서 업로드 된 파일을받는 방법

Google 고객 만족 센터에 저장하려면 몇 가지 질문을 한 후 사용자가 파일 (예 : 자신의 documenti ID 사진)을 업로드 할 수 있기를 바랍니다.

내가 알고있는 것은 일반 대화 중에 첨부 파일을 보내고 public async Task<HttpResponseMessage> Post([FromBody]Activity activity) 내부를 관리하는 것이지만 다른 질문 중간에 FormFlow 대화 상자 내부에서 프로세스를 관리하는 방법을 명확히하지 못합니다.

감사합니다.

+1

가능한 [Microsoft Bot FormFlow를 사용하는 사용자로부터 첨부 파일 받기] (http://stackoverflow.com/questions/41853523/microsoft-bot-receive-attachments-from-user-using-formflow) –

답변

0

액티비티 첨부는 FormFlow에서 처리 할 수 ​​없습니다. 이 이유는 FormBuilder에서 사용되는 FormDialog가 활동 텍스트 만 필드로 전달하기 때문입니다.

public async Task MessageReceived(IDialogContext context, 
     IAwaitable<Connector.IMessageActivity> toBot) 
     { 
      try 
      { 
       var toBotText = (toBot != null ? (await toBot).Text : null); 
       var stepInput = toBotText == null ? "" : toBotText.Trim(); 
       //rest of the method. 

출처 : https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Microsoft.Bot.Builder/FormFlow/FormDialog.cs

이 당신이 당신의 형태로이 작업을 수행 할 수있는 유일한 방법이며, 그 사용자는 당신에게 이미지/파일의 URL을 보내도록하는 것입니다.

또 다른 옵션은 폼의 마지막 질문으로 무언가를 업로드 할 것인지 (부울 속성) 사용자에게 물어보고 ResumeAfterForm 메서드에서이를 확인하는 것입니다. 값이 true이면 이미지/파일을 묻는 특수 대화 상자가 시작됩니다. 그렇게하면 메시지에서 쉽게 첨부 파일을 추출 할 수 있습니다.