Pergunta

Estou trabalhando com dois sites diferentes no ASP.NET. No primeiro projeto, carrego algumas imagens para uma pasta específica sob a raiz do projeto e salvo apenas o nome do arquivo no banco de dados, agora estou tentando exibir essas imagens em alguma página do segundo projeto que conheço o nome do arquivo do banco de dados e da imagem Pasta como Pat absoluto, mas não consegui exibir a imagem, mesmo pensei ao olhar no Firebug, a imagem SRC está correta src="D:/MyFolder/image.jpg" A imagem não é exibida, provavelmente porque não está apontando no diretório certo. Eu também tentei usar o Server.mappath e, em seguida, meu local D, mas ainda não há sucesso.

Tenho certeza de que alguém já enfrentou a mesma situação antes e estava realmente esperando obter alguma dica para gerenciar isso. Agradeço antecipadamente

Foi útil?

Solução

Encontrei minha solução, estranha, mas não a peguei antes. As imagens carregadas em um projeto sempre podem ser acessadas usando o URL do projeto http://www.yourwebsite.com/images/photo.png Agora, no segundo projeto, você pode usar a referência das imagens usando este URL e concatenando o nome do arquivo que eu armazeno no banco de dados. Eu acho que esta é a melhor solução e, sem alterar a segurança do código de acesso, que acho que pode trazer outros problemas com ela. De qualquer forma, obrigado pessoal.

Outras dicas

Se você deseja exibir a imagem que não está em seu projeto (quero dizer, ela está presente em algum outro projeto ou em algum outro impulso), basta criar o diretório virtual no IIS

  1. Vá para "Run", digite inetmgr
  2. Clique com o botão direito no seu projeto e adicione diretório virtual
  3. Dê o nome e o caminho do pseudônimos para que ele atue como pasta em seu projeto

Eu não acho que você possa servir arquivos fora do caminho do aplicativo por padrão. É chamado de segurança de acesso ao código. Você pode ler aqui:
http://msdn.microsoft.com/en-us/library/930b76w0.aspx

Você pode corrigir isso alterando seu nível de confiança para alto em seu web.config:
http://msdn.microsoft.com/en-us/library/tkscy493.aspx

Eu não recomendaria fazer isso para nenhum site que seja acessível externamente. De fato, dependendo de como/onde você está hospedando seu aplicativo, essa opção pode ser restrita.

Você pode apenas "link" para arquivos que existem em relação ao mesmo projeto ou hospedados em outro site por meio de um URL absoluto.

Se você deseja atender a arquivos fora do aplicativo/site (em disco ou em um banco de dados), precisará criar um mecanismo que obtenha o arquivo e o binário o grave no navegador, definindo o tipo MIME etc. Isso é melhor feito usando um um Httphandler.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top