Sitecore - 2个媒体项目。相同文件名,不同扩展名

时间:2014-01-11 00:28:47

标签: sitecore sitecore-media-library

如果您有2个具有相同名称但扩展名不同的媒体项目,则Sitecore无法区分它们。

例如:

  
      
  • /〜/媒体/ MYFILE。的 PDF

  •   
  • /〜/媒体/ MYFILE。的文档

  •   

当请求这些URL时,在两种情况下都会返回PDF文件。

据我所知,Sitecore忽略了请求中的扩展名,而实际问题实际上是我在媒体库中基本上有两个具有相同路径的项目:

  

sitecore / media library / myfile

但是,我认为我们的客户希望将同一文档的PDF和DOC版本存储在一个节点中是合理的。

我发现这篇文章解决了确保所请求的媒体项文件扩展名有效的相关问题:

http://www.cognifide.com/blogs/sitecore/sitecore-serves-media-items-even-with-incorrect-extensions/

但是,这仍然基于您首先获得了正确的Sitecore项目的前提(在myfile.doc请求的情况下不是这样)。

所以我想我的问题是,是否有办法阻止Sitecore简单地获取它找到的第一个项目并考虑扩展名。

1 个答案:

答案 0 :(得分:1)

您可以覆盖web.config中的媒体提供程序或项目解析程序,如果请求的资源是媒体项目:

  1. 查看它是否有同名的兄弟姐妹
  2. 如果是,请检查请求的扩展名(doc,PDF等)
  3. 根据扩展程序找到该类型的兄弟,然后返回。