ASP .Net MVC - As imagens não sendo mostrados na construção publicada
-
06-09-2019 - |
Pergunta
Estou desenvolvendo uma aplicação ASP .NET MVC e na minha máquina dev, o aplicativo é executado como esperado e, mais importante, as imagens mencionadas no arquivo CSS está exibindo corretamente também.
No entanto, quando eu publicar esta aplicação para um servidor de teste, o aplicativo web funciona muito bem, mas as imagens não são mostradas.
Se eu modificar a URL no IE ao testar a saída do servidor de teste, a imagem é devolvida, o que significa que o arquivo está lá, mas ele simplesmente não vai aparecer dentro da página de visualização quando se utiliza o site normalmente.
Eu tentei servidores alternativos também, mas o resultado é o mesmo.
Para confirmar, aqui está uma linha a partir da página CSS referenciando a imagem ...
background-image: url('/Content/Images/Logo/myLogo.jpg');
Todas as sugestões?
Felicidades
Brett
Solução
As URLs não estão corretas, provavelmente devido ao fato de que você está publicando em uma subpasta e assim eles já não estão na raiz do servidor. Eu costumo usar Url.Content( "~/Content/Images/..." )
para construir a url em vez de codificação-difícil. Dessa forma, ele vai ter em conta as rotas ao construir o caminho.
Exemplo:
<img src='<%= Url.Content( "~/Content/Images/banner.jpg" ) %>' alt="Banner" />
Outras dicas
Eu tive o mesmo problema, mas eu achei a razão pela qual ele estava forçando a autenticação na pasta Contents.
Quando um usuário não estiver logado no entanto, eles são classificados como autenticação anônima. Em IIS7 (que é o que eu estou usando, supondo que é o mesmo em IIS6) que você precisa para abrir a janela de autenticação Em Exibição de Recursos. Em seguida, editar a autenticação anônima, para usar a sua identidade pool de aplicativos ou a um padrão, apenas certifique-se que o usuário tem permissões para ler nessa pasta.
Isso fixa-lo para mim, espero que funcione para você.
caminhos relativos possíveis são errado ... Possível que eles estão errados para próprio arquivo CSS. Você pode usar o Firebug para ver se CSS carregado corretamente, então você pode examinar pedido de imagem, muitas vezes em tais situações, você vai ver itens (erro) vermelhas. Isto poderia ajudar a problema Localize.