public Task<string> Upload(int id) { try { //cria a parta obra if (Request.Content.IsMimeMultipartContent()) { var pathImagem = HttpContext.Current.Server.MapPath("~/Content/images/site/idioma"); var pathThumb = HttpContext.Current.Server.MapPath("~/Content/images/site/idioma/thumbs"); var streamProvider = new CustomMultipartFormDataStreamProvider(pathImagem); var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<string>(t => { var fileName = ""; //verifica se tem imagem if (streamProvider.FileData.Count > 0) { //altera o nome da imagem fileName = streamProvider.GetLocalFileName(streamProvider.FileData[0].Headers); //cria o thumb var combine = Path.Combine(pathImagem, fileName); KalikoImage image = new KalikoImage(combine); KalikoImage thumb = image.Scale(new CropScaling(150, 150)); image.BackgroundColor = Color.White; thumb.SaveJpg(Path.Combine(pathThumb, fileName), 99); //dispose das imagens thumb.Dispose(); image.Dispose(); //verifica se é para atualizar a logomarca if (id > 0) { var idioma = _service.Idioma.Get(id); idioma.Flag = fileName; _service.Idioma.Update(idioma); } } return fileName; }); return task; } else { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted")); } } catch (Exception ex) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, ex.Message)); } }
public Task<FroalaUploadHelper> Upload() { try { //cria a parta obra if (Request.Content.IsMimeMultipartContent()) { var pathImagem = HttpContext.Current.Server.MapPath("~/Content/images/site/portifolio"); var pathThumb = HttpContext.Current.Server.MapPath("~/Content/images/site/portifolio/thumbs"); var imagePath = @"../Content/images/site/portifolio"; var streamProvider = new CustomMultipartFormDataStreamProvider(pathImagem); var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<FroalaUploadHelper>(t => { var fileName = ""; //verifica se tem imagem if (streamProvider.FileData.Count > 0) { //altera o nome da imagem fileName = streamProvider.GetLocalFileName(streamProvider.FileData[0].Headers); //cria o thumb var combine = Path.Combine(pathImagem, fileName); KalikoImage image = new KalikoImage(combine); KalikoImage thumb = image.Scale(new CropScaling(150, 150)); image.BackgroundColor = Color.White; thumb.SaveJpg(Path.Combine(pathThumb, fileName), 99); //dispose das imagens thumb.Dispose(); image.Dispose(); } return new FroalaUploadHelper { link = imagePath + "/" + fileName }; }); return task; } else { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted")); } } catch (Exception ex) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, ex.Message)); } }