public IActionResult FetchThumbnail(string thumbnailKey) { long thumbnailId = 0L; IThumbnail thumbnail = null; try { if (long.TryParse(thumbnailKey, out thumbnailId)) { thumbnail = thumbnailRepository.Load(thumbnailId); } else { thumbnail = thumbnailRepository.FindByKey(thumbnailKey).FirstOrDefault(); } } catch (Exception) { // サムネイルが正常に取得できない場合は、常にnullとする。 thumbnail = null; } // リソースの有効期限等を決定する //DateTimeOffset now = DateTime.Now; //var etag = new EntityTagHeaderValue("\"" + Guid.NewGuid().ToString() + "\""); if (thumbnail == null) { System.Reflection.Assembly assm = System.Reflection.Assembly.GetExecutingAssembly(); string filePath = string.Format("Foxpict.Service.Web.Assets.Icon.UI.Article3.png"); return(new FileStreamResult(assm.GetManifestResourceStream(filePath), "image/png")); } return(new FileContentResult(thumbnail.BitmapBytes, thumbnail.MimeType)); }
public IActionResult FetchThumbnail(string thumbnailKey) { long thumbnailId = 0L; IThumbnail thumbnail = null; if (long.TryParse(thumbnailKey, out thumbnailId)) { thumbnail = thumbnailRepository.Load(thumbnailId); } else { thumbnail = thumbnailRepository.FindByKey(thumbnailKey).FirstOrDefault(); } if (thumbnail == null) { throw new ApplicationException(string.Format("サムネイル画像({0})が見つかりません", thumbnailKey)); } // リソースの有効期限等を決定する //DateTimeOffset now = DateTime.Now; //var etag = new EntityTagHeaderValue("\"" + Guid.NewGuid().ToString() + "\""); return(new FileContentResult(thumbnail.BitmapBytes, thumbnail.MimeType)); }