現在、アップロード中のファイルを WebAPI コントローラーに保存できますが、正しく表示できるように、ファイルを正しいファイル名拡張子の GUID として保存できるようにしたいと考えています。
コード:
[ValidationFilter]
public HttpResponseMessage UploadFile([FromUri]string AdditionalInformation)
{
var task = this.Request.Content.ReadAsStreamAsync();
task.Wait();
using (var requestStream = task.Result)
{
try
{
// how can I get the file extension of the content and append this to the file path below?
using (var fileStream = File.Create(HttpContext.Current.Server.MapPath("~/" + Guid.NewGuid().ToString())))
{
requestStream.CopyTo(fileStream);
}
}
catch (IOException)
{
throw new HttpResponseException(HttpStatusCode.InternalServerError);
}
}
HttpResponseMessage response = new HttpResponseMessage();
response.StatusCode = HttpStatusCode.Created;
return response;
}
コンテンツの実際のファイル名を把握できないようです。headers.ContentDisposition.FileNameが候補かもしれないと思いましたが、データが取り込まれていないようです。