Obecnie mogę zapisać plik przesyłany do kontrolera WebAPI, ale chcę mieć możliwość zapisania pliku jako identyfikatora z poprawnym rozszerzeniem nazwy pliku więc można go wyświetlać poprawnie.Przesyłanie pliku ASP.NET WebApi przy użyciu kreatora i rozszerzenia pliku
Kod:
[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;
}
I nie może wydawać się uzyskać uchwyt na rzeczywistej nazwy pliku zawartości. Myślałem, że headers.ContentDisposition.FileName może być kandydatem, ale nie wydaje się być wypełnione.
Oto podobne pytanie z odpowiedzią [http://stackoverflow.com/questions/14937926/file-name-from-httprequestmessage-content][1] [1]: http://stackoverflow.com/questions/14937926/file-name-from-httprequestmessage-content – forseta
Czy możesz udostępnić jak wyglądają nagłówki Twojego zapytania? Czy w żądaniu znajduje się nagłówek ContentDisposition? –
Obowiązkiem klienta jest ustawienie takich nagłówków. Jak wygląda Twój klient? – Snixtor