コード例 #1
0
 protected string GetImagesFolder(bool bootImagesfolder)
 {
     return(this.FormatURIForCDN(ResourcePathBuilderUtilities.GetBootImageResourcesRelativeFolderPath(ResourcePathBuilderUtilities.GetResourcesRelativeFolderPath(this.VersionString), DefaultPageBase.IsRtl), bootImagesfolder));
 }
コード例 #2
0
        protected string InlineImage(string fileName)
        {
            string   text = Path.Combine(Path.Combine(FolderConfiguration.Instance.RootPath, ResourcePathBuilderUtilities.GetBootImageResourcesRelativeFolderPath(ResourcePathBuilderUtilities.GetResourcesRelativeFolderPath(this.VersionString), DefaultPageBase.IsRtl)), fileName);
            DateTime lastWriteTimeUtc;

            try
            {
                lastWriteTimeUtc = File.GetLastWriteTimeUtc(text);
            }
            catch
            {
                return(this.BootImagesFolder + "/" + fileName);
            }
            Tuple <string, DateTime> tuple;

            lock (DefaultPageBase.inlineImages)
            {
                if (!DefaultPageBase.inlineImages.TryGetValue(text, out tuple) || tuple.Item2 < lastWriteTimeUtc)
                {
                    tuple = Tuple.Create <string, DateTime>("data:image/" + Path.GetExtension(fileName).Substring(1) + ";base64," + Convert.ToBase64String(File.ReadAllBytes(text)), lastWriteTimeUtc);
                    DefaultPageBase.inlineImages[text] = tuple;
                }
            }
            return(tuple.Item1);
        }