/// <summary>
        ///
        /// </summary>
        /// <param name="url">The (app relative) resource url (passed in to avoid using the http context)</param>
        /// <returns></returns>
        public ActionResult GetEmbeddedResource(string url)
        {
            var embeddedResourceItem = EmbeddedResourceService.GetEmbeddedResourceItem(url);

            if (embeddedResourceItem != null)
            {
                if (!embeddedResourceItem.BackOfficeUserOnly || this.IsBackOfficeUser())
                {
                    var resourceStream = EmbeddedResourceService.GetResourceStream(embeddedResourceItem);

                    if (resourceStream != null)
                    {
                        return(new FileStreamResult(resourceStream, this.GetMimeType(url)));
                    }
                }
            }

            return(this.HttpNotFound());
        }
Esempio n. 2
0
 /// <summary>
 /// When overridden in a derived class, returns a read-only stream to the virtual resource.
 /// </summary>
 /// <returns>
 /// A read-only stream to the virtual file.
 /// </returns>
 public Stream Open()
 {
     return(EmbeddedResourceService.GetResourceStream(this.virtualFile));
 }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="url">Either the full url (that can be converted to app relative) or an app relative url</param>
 /// <returns>a stream or null</returns>
 internal static Stream GetResourceStream(string url)
 {
     return(EmbeddedResourceService.GetResourceStream(EmbeddedResourceService.GetEmbeddedResourceItem(url)));
 }