public async Task <HttpResponseMessage> GetFile(Guid id) { try { var dataModel = await _binaryHelper.GetBinaryDataModel(id); if (dataModel.Stream.CanSeek) { dataModel.Stream.Seek(0, SeekOrigin.Begin); } var response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StreamContent(dataModel.Stream); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = dataModel.FileName, Size = dataModel.Stream.Length }; response.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypeHelper.GetMimeType(Path.GetExtension(dataModel.FileName))); return(response); } catch (Exception e) { _logger.Error(e); throw; } }
public HttpResponseMessage GetResizeImage(Guid id, int height, int width) { try { var dataModel = _repo.GetResizeImage(id, height, width); if (dataModel.Stream.CanSeek) { dataModel.Stream.Seek(0, SeekOrigin.Begin); } var response = new HttpResponseMessage(HttpStatusCode.OK); var content = ((MemoryStream)dataModel.Stream).ToArray(); response.Content = new ByteArrayContent(content); response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = dataModel.FileName, Size = content.Length }; response.Content.Headers.ContentType = new MediaTypeHeaderValue(MediaTypeHelper.GetMimeType(Path.GetExtension(dataModel.FileName))); return(response); } catch (Exception e) { _logger.Error(e); throw; } }
public void TestConvertToImageFormatThrowsException_IfUnsupportedFortmat() { AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/bmp"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/emf"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/exif"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/gif"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/icon"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/jpeg"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/memorybmp"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/tiff"))); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/wmf"))); }
public void TestConvertFromImageFormatThrowsException_IfUnsupportedFortmat() { AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Bmp)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Emf)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Exif)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Gif)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Icon)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Jpeg)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.MemoryBmp)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Tiff)); AssertExtensions.Throws <ArgumentException>(() => MediaTypeHelper.ConvertFromImageFormat(ImageFormat.Wmf)); }
/// <summary> /// Returns whether or not the current response is of Media Type image, based on MIME Type. /// </summary> /// <returns></returns> public bool IsImage() { bool isImage = false; MediaTypeHelper mt = new MediaTypeHelper(); // Put this in two different conditions to catch unknown Media Types if (mt.Mappings.ContainsKey(Content.MimeType)) { if (mt.Mappings[Content.MimeType] == MediaTypes.IMAGE) { isImage = true; } } else { throw new NotImplementedException("The provided Media Type (" + Content.MimeType + ") is unknown."); } return(isImage); }
public void ValidateImage(byte[] imageBytes, MediaTypeHeaderValue contentType) { try { ImageFormat format = MediaTypeHelper.ConvertToImageFormat(contentType); MemoryStream memoryStream = new MemoryStream(imageBytes); var image = Image.FromStream(memoryStream); if (!format.Equals(image.RawFormat)) { throw new ArgumentException("The image format does not match the content type."); } } catch (ArgumentException formatException) { throw new InputValidationException(HttpStatusCode.BadRequest, formatException.Message); } }
private async Task <HttpResponseMessage> ExecuteGetAsync(params object[] parameters) { var city = (string)parameters[0]; var date = (string)parameters[1]; var newsId = (string)parameters[2]; await this.ValidateGetOperation(city, date, newsId); Image image = await this.imageRepository.GetNewsImage(city, DateTime.Parse(date), Guid.Parse(newsId)); var memoryStream = new MemoryStream(); image.Save(memoryStream, ImageFormat.Png); HttpResponseMessage response = this.Request.CreateResponse(HttpStatusCode.OK); response.Content = new StreamContent(memoryStream); response.Content.Headers.ContentType = MediaTypeHelper.ConvertFromImageFormat(image.RawFormat); return(response); }
public void TestConvertToImageFormat() { Assert.AreEqual(ImageFormat.Png, MediaTypeHelper.ConvertToImageFormat(new MediaTypeHeaderValue("image/png"))); }