我们有一个多站点解决方案,我们希望为不同的站点建立不同的RTE配置文件.在这些配置文件中,我们希望能够在媒体库中设置特定于站点的Images文件夹.我们还想为"插入链接"按钮设置站点特定的根文件夹.
这可能是"开箱即用"吗?如果是这样,怎么样?
这是我尝试过的,似乎没有用.我没有收到任何错误,但它似乎也没有将文件添加到媒体库.
using(new Sitecore.SecurityModel.SecurityDisabler())
{
if(myFileControl.HasFile)
{
MediaCreatorOptions _options = new MediaCreatorOptions();
_options.Database = Factory.GetDatabase("master");
_options.FileBased = false;
_options.IncludeExtensionInItemName = false;
_options.KeepExisting = false;
_options.Versioned = false;
_options.Destination = "/sitecore/media library";
MediaItem _newFile = MediaManager.Creator.CreateFromStream(myFileControl.FileContent, myFileControl.FileName, _options);
}
}
Run Code Online (Sandbox Code Playgroud)
我最大的问题是我并不真正了解一些不同的参数和属性.MediaCreatorOptions的"目的地"属性是什么?它应该只是一个文件夹吗?它应该也有项目名称吗?CreateFromStream方法的三个参数是什么?第一个似乎是流 - 我明白了.但第二个是"FileName".这应该是什么?如果我是从Stream创建的,为什么我需要告诉Sitecore FileName?
任何帮助,将不胜感激.
我在Sitecore的一个页面中有一个"常规链接"字段.该字段基本上指定用于播放视频的视频文件的链接.
现在,我要做的是,检查此链接的类型,用户是否已将链接上传为内部链接,媒体或外部链接.我需要这个信息,因为根据链接的类型,我需要相应地执行一些操作.
有没有办法检查Sitecore中的链接类型?
任何人都知道如何使用ID而不是项目路径在sitecore中生成链接?
如果您使用API中的GetMediaUrl方法,我可以获取此URL:
/〜/媒体/图片/存档/内容/新闻/ News_and_Events_Level2/20070419162739/iwhiz3.jpg
这种方法的问题是,如果某人更改了媒体项目名称,将其删除或删除它,上述链接将中断.
我注意到如果我从富文本编辑器插入媒体链接,我得到如下链接:
/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx
第二个链接更好,因为它使用了项目ID,因此如果重命名,删除或删除实际媒体项目,所有相关链接也将更新.最重要的是,当Sitecore呈现页面时,它实际上将转换上面的链接并显示项目路径,以便它可读.
我正在使用Sitecore 6.5并且目前正在进行内容迁移,因此我需要确保所有内部链接都已正确更新.
我是否知道是否有使用sitecore API生成第二个链接的方法?
谢谢!
使用Sitecore Item Web API返回具有Image字段的项时,Sitecore Item Web API将返回一个JSON响应,其中包含Value,即图像标记,但没有任何alt文本.有没有办法让Sitecore Item Web API返回引用的媒体库项目的详细信息?
示例图像字段类型来自Sitecore Item Web API的响应:
"{7EEA5007-E518-4E68-837B-51BEAB56230A}": {
"Name": "Image",
"Type": "Image",
"Value": "\u003cimage mediaid=\"{E1F8CD6F-8276-4967-983C-C37E1481CDC0}\" mediapath=\"/Images/Fragrances/Collections/M039_img4\" src=\"~/media/E1F8CD6F82764967983CC37E1481CDC0.ashx\" /\u003e"
}
Run Code Online (Sandbox Code Playgroud)
看来我可以为GUID解析值,然后使用Sitecore的项Web API查询的媒体库中的影像项目和检索GUID,但是这将是混乱的,当父母有多个孩子,因为我将不得不要求ALT标签每个人分开.
如何从我们的URL中检索Sitecore媒体项?
URL是动态URL,例如/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx
.
在富文本字段中添加项目时会生成此项.
我可以看到2011年推荐使用" - "代替"〜"的博文.
在.NET 4.0/IIS7.5上的Sitecore 6.5中编写媒体URL的最佳做法是什么?我应该保持默认/~/media /或使用/ - /media /关注博客帖子建议,或者当我在那里时,为什么不使用/ media /?
每次我尝试使用Firefox将图像上传到媒体库时,都会出现弹出错误,上面写着"上传文件时出错".检查sitecore日志后,我在stacktrace中看到以下内容:
288 11:29:27 ERROR Application error.
Exception: System.ArgumentException
Message: Illegal characters in path.
Source: mscorlib
at System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.File.GetLastWriteTimeUtc(String path)
at Sitecore.Resources.Media.MediaData.get_MediaId()
at Sitecore.Resources.Media.MediaCache.CanCache(Media media, MediaOptions options)
at Sitecore.Resources.Media.MediaCache.GetStream(Media media, MediaOptions options)
at Sitecore.Resources.Media.Media.GetStream(MediaOptions options)
at Sitecore.Resources.Media.MediaRequestHandler.DoProcessRequest(HttpContext context, MediaRequest request, Media media)
at Sitecore.Resources.Media.MediaRequestHandler.DoProcessRequest(HttpContext context)
at …
Run Code Online (Sandbox Code Playgroud) 为客户工作项目.他们有一个PDF已被分成单独的页面作为图像,他们希望每个图像出现在一个页面上 - 至少40个图像单独这一页.
到目前为止,我一直在单独放置它们.每次使用富编辑器放置图像时,都从媒体根开始 - 以及媒体库的结构方式,这些图像深埋在子文件夹中.因此,点击,滚动和阅读大约需要20秒才能找到放置它的每个图像.
这些图像是顺序的并且在媒体库中按顺序放置.有没有办法可以选择一组图像并将其放入?实际上会有数百个,这对我(和我的客户)一个接一个地放置图像的时间是一个巨大的浪费.
在sitecore中,我有一些具有"文件"字段的项目.
当我使用如下代码时:
var bioDoc = item["BiographyDocument"];
Run Code Online (Sandbox Code Playgroud)
我得到一个看起来像这样的字符串:
<file mediaid=\"{3891941C-AC19-4DEB-AD5D-2E4FA4DD2E07}\" src=\"~/media/3891941CAC194DEBAD5D2E4FA4DD2E07.ashx\" />
Run Code Online (Sandbox Code Playgroud)
如何从此字符串转到MediaItem然后下载链接?我花了很多时间在这上面,无法在任何地方找到答案.
谢谢.