Pregunta

Estoy trabajando con dos sitios web diferentes en asp.net. En el primer proyecto subo algunas imágenes a una carpeta específica en la raíz del proyecto y guardar sólo el nombre de archivo en la base de datos, ahora estoy tratando de mostrar estas imágenes en alguna página del segundo proyecto que sé el nombre del archivo de la base de datos y la imagen carpeta como Pat absoluta, pero no he sido capaz de mostrar la imagen, incluso pensó cuando se mira en el firebug src imagen es src="D:/MyFolder/image.jpg" correcta la imagen no aparece, probablemente debido a que no está apuntando en el directorio correcto. También he intentado usar Server.MapPath y luego mi ubicación D pero aún sin éxito.

Estoy seguro de que alguien se ha enfrentado a la misma situación antes y fue realmente la esperanza de obtener algún indicio de manejar esto. Gracias de antemano

¿Fue útil?

Solución

He encontrado mi solución, extraño, pero no he entendido antes. fotos subidas marco de un proyecto siempre se puede acceder mediante la dirección URL del proyecto http://www.yourwebsite.com/images/photo.png ahora en el segundo proyecto puede utilizar la referencia de las imágenes utilizando esta URL y concatenando el nombre del archivo, que almaceno en la base de datos. Creo que esta es la mejor solución y sin cambiar el código de seguridad de acceso, que creo que puede traer otros problemas con él. De todos modos gracias chicos.

Otros consejos

Si desea mostrar la imagen que no está en su proyecto (me refiero a que está presente en algún otro proyecto o alguna otra unidad) acaba de crear el directorio virtual en IIS

  1. Vaya a "Ejecutar", escribir inetmgr
  2. Haga clic derecho sobre el proyecto y añadir directorio virtual
  3. Dar nombre de alias y la ruta para que actúe como carpeta en su proyecto

No creo que pueda servir archivos fuera de su ruta de la aplicación por defecto. Se llama código de acceso de seguridad. Usted puede leer sobre ello aquí:
http://msdn.microsoft.com/en-us/library/930b76w0. aspx

Puedes solucionar este problema cambiando su nivel de confianza en alto en su web.config:
http://msdn.microsoft.com/en-us/library/tkscy493. aspx

No recomendaría hacer esto para cualquier sitio que sea accesible desde el exterior. De hecho, dependiendo de cómo / dónde se está hospedando su aplicación, esta opción puede ser restringido.

Sólo puede "enlace" de archivos que existen en relación con el mismo proyecto o están alojados en otro sitio a través de una URL absoluta.

Si desea dar servicio a los archivos fuera de la aplicación / sitio web (en el disco o en una base de datos) que se necesita para construir un mecanismo que obtiene el archivo binario y lo escribe en el navegador, establecer el tipo MIME etc. Este es el mejor hecho usando un HttpHandler.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top