我在v8.2
我在日志文件中看到以下错误:
ERROR Could not run the 'getMediaStream' pipeline for '/sitecore/media library/test image'.
Original media data will be used.
Exception: System.ArgumentException
Message: Empty strings are not allowed.
Parameter name: filePathOrExtension
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.ArgumentNotNullOrEmpty(String argument, String argumentName)
at Sitecore.Resources.Media.MediaThumbnailGenerator.GetThumbnailFileName(MediaData mediaData, TransformationOptions options)
at Sitecore.Resources.Media.MediaThumbnailGenerator.GetStream(MediaData mediaData, TransformationOptions options)
at Sitecore.Resources.Media.MediaData.GetThumbnailStream(TransformationOptions options)
at Sitecore.Resources.Media.ThumbnailProcessor.Process(GetMediaStreamPipelineArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
at Sitecore.Resources.Media.Media.GetStreamFromPipeline(MediaOptions options, Boolean& canBeCached)
我想是因为这个错误,当我使用该分支模板在媒体库中创建项目时,我附加到分支模板的媒体项目并不真正起作用。
它可能与rainbow.config有关,我不确定。
有没有人有想法?
答案 0 :(得分:0)
我经历了你提供的堆栈跟踪。
在
中发生异常Sitecore.Resources.Media.MediaThumbnailGenerator.GetThumbnailFileName(MediaData mediaData, TransformationOptions options)
唯一可以抛出System.ArgumentException的地方,消息'不允许空字符串'。和参数名称:filePathOrExtension是GetFileIconPipelineArgs的ctor:
“的原因:
我可以假设mediaData.Extension包含空字符串。 Getter of Extension属性表示它使用媒体项的“扩展”字段。
所以我建议检查'/ sitecore /媒体库/测试图像'媒体项的'扩展'字段的值是什么。我相信你会发现它是空的。
答案 1 :(得分:0)
我有同样的错误,并意识到当存在相同版本的英文项目时不会出现错误。我的假设是管道查找错误的版本,这意味着使用英语或默认语言。
以下是我的所有观察结果(没有时间进一步调查):
根据我的观察,我假设 getMediaStream 管道覆盖了所请求的语言,这导致了扩展名和/或文件名中的空值。
Sitecore客户端在尝试渲染预览元素时似乎向服务器发送了错误的语言。当我查看项目的德语版本时,请求看起来像这样:
<SERVER URL>/sitecore/shell/Applications/-/media/<Item ID>.ashx?bc=white&db=master&h=128&la=en&mw=640&thn=1&vs=1&ts=e73e6b27-b0db-45d7-a3c9-29830ad0191a&udi=1
请注意,请求的语言为英语。当我将参数更改为 de 时,请求会正常运行。
任何人都可以确认这种行为吗?它看起来像是Sitecore的错误。
答案 2 :(得分:0)
我也得到了相同的日志错误,但在分离旧文件后附加了一个新文件(pdf)。上传新文件是不可能的,它根本就不会上传(在i-frame中得到了一个很好的asp.net错误,错误与上面相同)。
我最终完全删除了媒体项目并使用附加的新文件重新创建它,作为解决方法。
也许是一个小故障,也许是一个用户问题......但还没有复制它。如果我找到一个解决方案,或者至少如何重现,我会重新开始。