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. pdf

  • / ~ / 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:

http:// www .Cognifide.com / blogs / Sitecore / Sitecore-serve-Itens-Itens-Ainda-com extensões incorretas /

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.

Foi útil?

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:

    .
  1. veja se tem um irmão com o mesmo nome
  2. Se sim, verifique a extensão do pedido (DOC, PDF, etc)
  3. Encontre o irmão que é desse tipo baseado em extensão e retornar isso.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top