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));
        }
Пример #2
0
        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));
        }