/// <summary> /// Add a photo /// </summary> /// <returns></returns> public async Task <IHttpActionResult> Add(string subDirectory) { // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent("form-data")) { return(BadRequest("Unsupported media type")); } try { var provider = new CustomMultipartFormDataStreamProvider(workingFolder + @"\" + subDirectory); //await Request.Content.ReadAsMultipartAsync(provider); await Task.Run(async() => await Request.Content.ReadAsMultipartAsync(provider)); var photos = new List <PhotoViewModel>(); foreach (var file in provider.FileData) { var fileInfo = new FileInfo(file.LocalFileName); photos.Add(new PhotoViewModel { Name = fileInfo.Name, Created = fileInfo.CreationTime, Modified = fileInfo.LastWriteTime, Size = fileInfo.Length / 1024 }); } return(Ok(new { Message = "Photos uploaded ok", Photos = photos })); } catch (Exception ex) { return(BadRequest(ex.GetBaseException().Message)); } }
/// <summary> /// Add a photo /// </summary> /// <returns></returns> public async Task <IHttpActionResult> Add() { // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent("form-data")) { return(BadRequest("Unsupported media type")); } try { var provider = new CustomMultipartFormDataStreamProvider(workingFolder); await Request.Content.ReadAsMultipartAsync(provider); var photos = provider.FileData.Select(file => new FileInfo(file.LocalFileName)).Select(fileInfo => new PhotoViewModel { Name = fileInfo.Name, Created = fileInfo.CreationTime, Modified = fileInfo.LastWriteTime, Size = fileInfo.Length / 1024 }).ToList(); return(Ok(new { Message = "Photos uploaded ok", Photos = photos })); } catch (Exception ex) { return(BadRequest(ex.GetBaseException().Message)); } }
/// <summary> /// Add a photo /// </summary> /// <returns></returns> public async Task <IHttpActionResult> Add() { if (!Request.Content.IsMimeMultipartContent("form-data")) { return(BadRequest("Unsupported media type")); } try { var provider = new CustomMultipartFormDataStreamProvider(workingFolder); await Task.Run(async() => await Request.Content.ReadAsMultipartAsync(provider)); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.GetBaseException().Message)); } }