public HttpResponseMessage UploadThumbnail(HttpRequestMessage request) { try { var file = RetrieveFileFromRequest(request); if (file.FileName != null) { var filename = Path.GetFileName(file.FileName); if (filename != null) { var svc = ThumbnailServiceFactory.Create(User); using (svc) { svc.SaveThumbnail2(file.DataID, file.FileName, file.Content.CopyToAsync); } } } return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); throw new HttpResponseException(response); } }
public HttpResponseMessage DownloadThumbnail(HttpRequestMessage request, string id) { try { var svc = ThumbnailServiceFactory.Create(User); using (svc) { var stream = new MemoryStream(); var fileName = svc.GetThumbnail(int.Parse(id), stream); if (string.IsNullOrEmpty(fileName)) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } stream.Position = 0; var result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StreamContent(stream); result.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypeNames.Image.Jpeg); result.Content.Headers.Add("Content-Disposition", new[] { string.Format("attachment; filename=\"{0}\"", fileName) }); return(result); } } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message); throw new HttpResponseException(response); } }
public ActionResult ThumbnailUpload() { try { var file = RetrieveFileFromRequest(); if (file.FileName != null) { var filename = Path.GetFileName(file.FileName); if (filename != null) { var svc = ThumbnailServiceFactory.Create(User); using (svc) { svc.SaveThumbnail(file.DataID, file.FileName, file.Contents); } } } return(new HttpStatusCodeResult(200)); } catch (Exception) { return(new HttpStatusCodeResult(400)); } }
public ActionResult ThumbnailDownload(int id) { try { var svc = ThumbnailServiceFactory.Create(User); using (svc) { var stream = new MemoryStream(); var fileName = svc.GetThumbnail(id, stream); if (string.IsNullOrEmpty(fileName)) { return(new HttpStatusCodeResult(400)); } stream.Position = 0; var res = new FileStreamResult(stream, MediaTypeNames.Image.Jpeg); res.FileDownloadName = fileName; return(res); } } catch (Exception) { return(new HttpStatusCodeResult(404)); } }