Virtual Happy Hour is canceled this month due to Good Friday.
Try our conversational search powered by Generative AI!
AI OnAI Off
Virtual Happy Hour is canceled this month due to Good Friday.
UnifiedFile file = UnifiedFileSystem.GetFile(path);
now in cms 5:
UnifiedFile uf = System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile(path) as UnifiedFile;
UnifiedPageDirectory.Get()
method and the path would resolve itself from there, but the EPi-intrisic method has now been removed in favor of the more generic System.Web.Hosting library. So, what to put in there instead, as an argument to System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile()? CurrentPage.LinkURL did not work for me.
UnifiedFile file = HostingEnvironment.VirtualPathProvider.GetFile(virtualPath) as UnifiedFile;
Get or Create a Page Folder:
int folderId = (int) page.Property["PageFolderID"].Value;
string pageDirectoryRootVirtualPath = VirtualPathHandler.PageDirectoryRootVirtualPath;
IPageDirectory pageDirectory = HostingEnvironment.VirtualPathProvider.GetDirectory(pageDirectoryRootVirtualPath) as IPageDirectory;
string virtualPathFromFolderId = VirtualPathUtilityEx.Combine(pageDirectoryRootVirtualPath, VirtualPathUtility.AppendTrailingSlash(folderId.ToString()));
UnifiedDirectory directory = HostingEnvironment.VirtualPathProvider.GetDirectory(virtualPathFromFolderId) as UnifiedDirectory;
if (directory == null)
{
directory = pageDirectory.CreateSubdirectory(folderId.ToString(), page);
}
NOTE! Folder will not “exist” for real until a file is saved inside it. It is important to call CreateSubdirectory with the page as parameter to setup security correctly!
Getting a handle to a new file:
UnifiedFile file = HostingEnvironment.VirtualPathProvider.GetFile(virtualPath) as UnifiedFile;
if (file == null)
{
string virtualDir = VirtualPathUtility.GetDirectory(virtualPath);
UnifiedDirectory directory = HostingEnvironment.VirtualPathProvider.GetDirectory(virtualDir) as UnifiedDirectory;
return directory.CreateFile(VirtualPathUtility.GetFileName(virtualPath));
}
Example of reading UnifiedFile:
Bitmap image = null;
using (Stream stream = file.Open())
{
image = (Bitmap) Image.FromStream(stream);
}
Example of writing with UnifiedFile:
using (Stream stream = file.Open(FileMode.Create, FileAccess.Write))
{
image.Save(stream, encoderInfo, encoderParams);
}
Regards,
Fredrik Haglund
INEXOR AB – det digitala byggbolaget ™
http://blog.fredrikhaglund.se
Hi I was interested in the sample provided http://www.episerver.com/EPiServerCom/Templates/SampleSource.aspx?id=11336&epslanguage=EN, but there is an error opening the zip.
Can you re-provide.
Regards,
Ian
UnifiedDirectory pageDir = UnifiedPageDirectory.Get(CurrentPage.PageLink); if (pageDir == null) pageDir = UnifiedPageDirectory.Create(CurrentPage.PageLink); ... UnifiedDirectory thumbsDir = pageDir.GetSubdirectory(ThumbsDirName); ... UnifiedFile[] thumbs = thumbsDir.GetFiles((string)Global.EPConfig["EPsFilePattern"]);
Can anyone describe to me how this is done in CMS?