asp.net - mvc - propiedades fileupload asp net
Cómo subir archivos de ASP.NET a otra aplicación web (4)
¿Puedo preguntar por qué no guarda el archivo en la base de datos? Esto haría que pasarlo sea mucho más fácil.
Tengo un escenario en el que necesito cargar un archivo desde una aplicación web y usarlo en otra. Mi configuración es la siguiente.
- Un servidor que aloja dos aplicaciones web en IIS: ambos son ASP.NET
- Una de las aplicaciones se usa para administrar la otra + un montón más de cosas
- Necesito subir un archivo desde esta aplicación de administrador, guardar la ruta en DB a través del DAL y luego acceder al archivo desde la otra aplicación web, que proporcionaría el archivo para descargar
- Guardo los archivos en el disco, solo la ruta en DB
Entonces, ¿dónde y cómo puedo subir el archivo para que se pueda acceder desde ambas aplicaciones web? ¿Debo usar un servicio o hay alguna otra manera?
Aquí hay algunas preguntas relacionadas que encontré, pero no creo que cubran mi situación particular:
¿Cómo manejar las cargas de archivos a un servidor de imágenes dedicado?
¿Cómo subir un archivo a un Servicio WCF?
Como ambas aplicaciones están en el mismo servidor, esto debería ser sencillo:
- Guarde el archivo cargado en algún lugar del servidor.
- Cree un directorio virtual en cualquier aplicación que necesite exponer los archivos que apuntan a la ruta física.
- Guarde la ruta virtual en el archivo db para obtener flexibilidad
Puede configurar un nuevo directorio virtual en cada aplicación que apunte a la misma carpeta en su servidor donde cargará los archivos. Digamos que creaste una nueva carpeta en tu unidad c: llamada "uploads", es decir c: / uploads. Luego, en la configuración de IIS, un nuevo directorio virtual llamado "carga" apunta a c: / cargas para cada aplicación web. Eso debería dar acceso a ambos sitios a los archivos.
Suponiendo que la ruta del archivo que ingresa en el DB es accesible desde la aplicación web que no es administrador (lo que suena como es), el archivo solo necesita ir a algún lugar donde ambas aplicaciones tengan derechos de acceso. Solo la aplicación de administrador necesitaría tener acceso de escritura.
Puede configurar qué cuenta de usuario se ejecutará en un sitio web de IIS en Propiedades del sitio web> Seguridad del directorio en la consola de administración de IIS. Luego solo asegúrate de configurar los permisos de directorio apropiados.