2017-03-22 13 views
1

POST要求からファイルにjpegを抽出するにはどうすればよいですか? POSTリクエストヘッダが表示するように表示されるウェブ上のすべての例MimeMultipartContent :(ではありませんthis.Request.Content.Headers.Contenttype.MediaTypeimage/jpegDebug.Trace(this.Request.Content)はちょうどここで私に"System.Web.Http.WebHost.HttpControllerHandler+LazyStreamContent"POSTリクエストからjpegを抽出する

を与えますが、これまでの私のコードである文字列が含まれています。

public IHttpActionResult Post() 
{ 
    HttpRequestMessage request = this.Request; 
    Trace.WriteLine(request.Content.Headers.ContentType.MediaType); // "image/jpeg" 

    // Do the extraction to a file here 

    return Ok("Worked"); 
} 
+0

コンテンツストリームを抽出するには、「var imageStream = await」リクエストを使用します。 Content.ReadAsStreamAsync() 'から、ストリームで必要なことを行うことができます。 – Nkosi

+0

参考:私はhttps://www.axis.com/gb/en/support/technical-notes/upload-images-video-to-http-serverでperl cgiスクリプトと同等のC#を書こうとしていました – Caltor

答えて

1

public async Task<IHttpActionResult> Post() { 
    var request = this.Request; 
    Trace.WriteLine(request.Content.Headers.ContentType.MediaType); // "image/jpeg" 

    var imageStream = await request.Content.ReadAsStreamAsync(); 

    //...save stream to disk or database...etc.  

    return Ok("Worked"); 
} 
+1

素晴らしいです!おかげで ディスクに保存する他の人の参照のために使用することができます: using(var FileStream = File.Create(destination)) { ImageStream.Seek(0、SeekOrigin.Begin); \t ImageStream.CopyTo(FileStream); } – Caltor

関連する問題