2017-11-18 4 views
1

enter image description hereC#でイメージとテキスト値を読み取る方法は?

ご覧のとおり、画像を送信しようとしていますが、POSTコマンドで名前をローカル機能に送信しようとしています。

どのようにC#でこれらのパラメータを両方読むことができますか?

これは私が試したことですが、ファイルイメージのみを読み取ることができます。

[FunctionName("Test")] 
public static async Task<HttpResponseMessage> 
    Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = 
null)]HttpRequestMessage req, TraceWriter log) 
{ 
    //Check if the request contains multipart/form-data. 
    if (!req.Content.IsMimeMultipartContent()) 
    { 
     return req.CreateResponse(HttpStatusCode.UnsupportedMediaType); 
    } 


    foreach (var stream in contents.Contents) 
    { 


     try 
     { 
      var fileBytes = await stream.ReadAsByteArrayAsync(); 
      var fileinfo = new FileInfo(stream.Headers.ContentDisposition.FileName.Trim('"')); 



     //Can Read File image like this. 


     } 
     catch(Exception e) 
     { 
      return req.CreateErrorResponse(HttpStatusCode.Conflict, e); 
     } 

答えて

0

メモリストリームのように回避する方法はありますか?

はあなたの条件によると、私はあなたがHttpContentMultipartExtensions.ReadAsMultipartAsyncを使用することができることを前提とし、あなたがMultipartMemoryStreamProviderになるだろう、あなたはあなたのアップロードしたファイルを読み込むための次のコードを利用することができます:

var multipartMemoryStreamProvider= await req.Content.ReadAsMultipartAsync(); 
foreach (HttpContent content in multipartMemoryStreamProvider.Contents) 
{ 
    // for reading the uploaded file 
    var filename= content.Headers.ContentDisposition.FileName.Trim('"'); 
    var stream=await content.ReadAsStreamAsync();   

    //for formdata, you could check whether `content.Headers.ContentDisposition.FileName` is empty 
    log.Info($"name={content.Headers.ContentDisposition.Name},value={await content.ReadAsStringAsync()}"); 
} 

また、あなたが従うことができますこのissueは、MultipartMemoryStreamProviderに基づいてカスタムMultipartFormDataMemoryStreamProviderを作成することについて説明しています。そしてMultipartStreamProviderに基づいてカスタムInMemoryMultipartFormDataStreamProviderを構築することについてはissueです。

1

あなたは、キーに基づいて掲載されたフォームデータの値を取得するために掲示ファイル

  • 使用FormDataプロパティを取得するためにMultipartFormDataStreamProvider

    1. 使用FileDataプロパティを使用することができます。

    これをチェックするFile Upload and Multipart MIME

  • +0

    この方法でファイルをAppフォルダに保存する必要があります。メモリストリームを使用する場合のようにこれを行うための回避策はありますか? –

    関連する問題