Sitecore - 2 itens de mídia.Mesmo nome de arquivo, diferentes extensões
-
22-12-2019 - |
Pergunta
Se você tiver 2 itens de mídia que tenham o mesmo nome, mas diferentes extensões, o Sitecore não pode diferenciar entre eles.
Por exemplo:
.
/ ~ / mídia / myfile.
/ ~ / mídia / myfile. doc
Quando esses URLs são solicitados, o arquivo PDF é retornado em ambos os casos.
Eu entendo que esse site ignora a extensão na solicitação, e que o problema real é de fato, que eu essencialmente tenho dois itens com o mesmo caminho na biblioteca de mídia:
.sitecore / biblioteca de mídia / myfile
No entanto, eu acho que é razoável que nosso cliente gostaria de armazenar as versões PDF e Doc do mesmo documento em um único nó.
Eu encontrei este artigo que aborda o problema relacionado de garantir que a extensão do arquivo de mídia solicitada seja válida:
No entanto, isso ainda é baseado na premissa que você obteve o item de site correto em primeiro lugar (o que não é verdadeiro no caso da solicitação de myfile.doc).
Então, eu acho que minha pergunta é se há uma maneira de impedir que o Sitecore simplesmente obtenha o primeiro item que encontra e assumir a extensão.
Solução
Você pode substituir o provedor de mídia ou o item Resolver no web.config e se o recurso solicitado for um item de mídia:
- .
- veja se tem um irmão com o mesmo nome
- Se sim, verifique a extensão do pedido (DOC, PDF, etc)
- Encontre o irmão que é desse tipo baseado em extensão e retornar isso.