public IHttpActionResult GetPage(string storeId, string language, string pageName)
        {
            CheckCurrentUserHasPermissionForObjects(ContentPredefinedPermissions.Read, new ContentScopeObject {
                StoreId = storeId
            });

            var blobItem = _contentStorageProvider.GetBlobInfo("/Pages/" + storeId + "/" + pageName);

            if (blobItem != null)
            {
                var page = blobItem.ToPageWebModel();
                page.Id = "/" + pageName;
                using (var stream = _contentStorageProvider.OpenRead(blobItem.Url))
                {
                    var data = stream.ReadFully();
                    if (ContentTypeUtility.IsImageContentType(page.ContentType))
                    {
                        page.ByteContent = data;
                    }
                    else if (ContentTypeUtility.IsTextContentType(page.ContentType))
                    {
                        page.Content = Encoding.UTF8.GetString(data);
                    }
                }
                return(Ok(page));
            }

            return(NotFound());
        }
Exemple #2
0
        public IHttpActionResult GetThemeAsset(string assetId, string storeId, string themeId)
        {
            base.CheckCurrentUserHasPermissionForObjects(ContentPredefinedPermissions.Read, new ContentScopeObject {
                StoreId = storeId
            });

            var blobItem = _contentStorageProvider.GetBlobInfo("/Themes/" + storeId + "/" + themeId + "/" + assetId);

            if (blobItem != null)
            {
                var themeAsset = blobItem.ToThemeAssetWebModel();
                themeAsset.Id = assetId;
                using (var stream = _contentStorageProvider.OpenRead(blobItem.Url))
                {
                    var data = stream.ReadFully();
                    if (ContentTypeUtility.IsImageContentType(themeAsset.ContentType))
                    {
                        themeAsset.ByteContent = data;
                    }
                    else if (ContentTypeUtility.IsTextContentType(themeAsset.ContentType))
                    {
                        themeAsset.Content = Encoding.UTF8.GetString(data);
                    }
                }
                return(Ok(themeAsset));
            }
            return(NotFound());
        }