public object Get(GetShareImage request) { var share = _sharingManager.GetShareInfo(request.Id); if (share == null) { throw new ResourceNotFoundException(); } if (share.ExpirationDate <= DateTime.UtcNow) { throw new ResourceNotFoundException(); } var item = _libraryManager.GetItemById(share.ItemId); var image = item.GetImageInfo(ImageType.Primary, 0); if (image != null) { return(ToStaticFileResult(image.Path)); } // Grab a dlna icon if nothing else is available using (var response = _dlnaManager.GetIcon("logo240.jpg")) { using (var ms = new MemoryStream()) { response.Stream.CopyTo(ms); ms.Position = 0; var bytes = ms.ToArray(); return(ResultFactory.GetResult(bytes, "image/" + response.Format.ToString().ToLower())); } } }
private ActionResult GetIconInternal(string fileName) { var icon = _dlnaManager.GetIcon(fileName); if (icon == null) { return(NotFound()); } return(File(icon.Stream, MimeTypes.GetMimeType(fileName))); }
public object Get(GetIcon request) { using (var response = _dlnaManager.GetIcon(request.Filename)) { using (var ms = _memoryStreamProvider.CreateNew()) { response.Stream.CopyTo(ms); ms.Position = 0; var bytes = ms.ToArray(); return(ResultFactory.GetResult(bytes, "image/" + response.Format.ToString().ToLower())); } } }
public async Task <object> Get(GetShareImage request) { var share = _sharingManager.GetShareInfo(request.Id); if (share == null) { throw new ResourceNotFoundException(); } if (share.ExpirationDate <= DateTime.UtcNow) { throw new ResourceNotFoundException(); } var item = _libraryManager.GetItemById(share.ItemId); var image = item.GetImageInfo(ImageType.Primary, 0); if (image != null) { if (image.IsLocalFile) { return(await _resultFactory.GetStaticFileResult(Request, image.Path).ConfigureAwait(false)); } try { // Don't fail the request over this var updatedImage = await _libraryManager.ConvertImageToLocal(item, image, 0).ConfigureAwait(false); return(await _resultFactory.GetStaticFileResult(Request, updatedImage.Path).ConfigureAwait(false)); } catch { } } // Grab a dlna icon if nothing else is available using (var response = _dlnaManager.GetIcon("logo240.jpg")) { using (var ms = new MemoryStream()) { response.Stream.CopyTo(ms); ms.Position = 0; var bytes = ms.ToArray(); return(ResultFactory.GetResult(bytes, "image/" + response.Format.ToString().ToLower())); } } }
private ActionResult GetIconInternal(string fileName) { var icon = _dlnaManager.GetIcon(fileName); if (icon == null) { return(NotFound()); } var contentType = "image/" + Path.GetExtension(fileName) .TrimStart('.') .ToLowerInvariant(); return(File(icon.Stream, contentType)); }
public object Get(GetIcon request) { using (var response = _dlnaManager.GetIcon(request.Filename)) { using (var ms = new MemoryStream()) { response.Stream.CopyTo(ms); ms.Position = 0; var bytes = ms.ToArray(); var contentType = "image/" + response.Format.ToString().ToLower(); var cacheLength = TimeSpan.FromDays(365); var cacheKey = Request.RawUrl.GetMD5(); return(_resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult <Stream>(new MemoryStream(bytes)))); //return ResultFactory.GetResult(bytes, contentType); } } }
public object Get(GetIcon request) { var contentType = "image/" + Path.GetExtension(request.Filename).TrimStart('.').ToLower(); var cacheLength = TimeSpan.FromDays(365); var cacheKey = Request.RawUrl.GetMD5(); return(_resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult(_dlnaManager.GetIcon(request.Filename).Stream))); }