Foros del Web » Programando para Internet » ASPX (.net) »

UnauthorizedAccessException con FileUpload

Estas en el tema de UnauthorizedAccessException con FileUpload en el foro de ASPX (.net) en Foros del Web. Hola buenas, tengo un problema con un fileupload al realizar el metodo SaveAs me da error por acceso no autorizado a la carpeta que selecciono. ...
  #1 (permalink)  
Antiguo 04/08/2010, 10:21
 
Fecha de Ingreso: agosto-2004
Mensajes: 14
Antigüedad: 19 años, 8 meses
Puntos: 0
UnauthorizedAccessException con FileUpload

Hola buenas, tengo un problema con un fileupload al realizar el metodo SaveAs me da error por acceso no autorizado a la carpeta que selecciono.
Ya he probado a darle permisos sobre la carpeta al usuario ASP.NET y al IUSR_<MACHINENAME> pero es que no hay manera, debe escaparseme algo y no doy con ello. De hecho incluso he llegado a darle permisos al grupo "Todos" de control total y que sigue fallandome.

El fallo me da tanto en el servidor de desarrollo como en producción colgando la web del IIS como desde la propia herramienta del Visual Studio 2005 en modo depuración. Debo estar haciendo algo mal y no me doy cuenta.

Aquí el código:

if (FileUpload1.PostedFile.FileName != "")
FileUpload1.PostedFile.SaveAs(Server.MapPath("App_ Data\\Logos"));

Es algo sencillo, el path me he asegurado que lo coge correctamente, la ruta esá correcta pero me da el error de UnauthorizedAccessException..

Alguna idea??.

Gracias por vuestra atención.
  #2 (permalink)  
Antiguo 04/08/2010, 10:51
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: UnauthorizedAccessException con FileUpload

La carpeta APP_DATA es utilizada unicamente como repositorio de datos, de forma tal que puedas tener una base de datos access o sql por ejemplo en ella, no para que subas archivos. Por tanto no vas a poder.

Para poder subir los archivos la carpeta logo debería estar en la raiz del sistema.

Saludos,
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #3 (permalink)  
Antiguo 05/08/2010, 01:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 14
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: UnauthorizedAccessException con FileUpload

Cita:
Iniciado por jaullo Ver Mensaje
La carpeta APP_DATA es utilizada unicamente como repositorio de datos, de forma tal que puedas tener una base de datos access o sql por ejemplo en ella, no para que subas archivos. Por tanto no vas a poder.

Para poder subir los archivos la carpeta logo debería estar en la raiz del sistema.

Saludos,
Hola, gracias por tu respuesta, pero no parece venir de ahí el problema.
He cambiado la carpeta Logos a la raiz de la web y seguimos con el mismo problema.
Le he vuelto a dar todos los permisos y que no hay forma de hacerlo funcionar.
Yo no se si es cosa del fileupload porque tengo hechas otras webs que si escriben en disco y no me da ningún tipo de problema incluso dentro del APP_DATA.
  #4 (permalink)  
Antiguo 02/09/2010, 03:11
 
Fecha de Ingreso: agosto-2004
Mensajes: 14
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: UnauthorizedAccessException con FileUpload

Me autorespondo por si alguien se encuentra con el mismo problema ya que encontré la solución al mismo.
Por lo que parece el metodo SaveAs no incluye el nombre del archivo a la hora de salvarlo por tanto estaba fallando porque intentaba guardar el archivo como si fuese una carpeta y de ahí el fallo.

El código correcto sería tal que así:

if (FileUpload1.PostedFile.FileName != "")
FileUpload1.PostedFile.SaveAs(Server.MapPath("App_ Data\\Logos") + "\\" + FileUpload1.FileName);
  #5 (permalink)  
Antiguo 19/10/2010, 09:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: UnauthorizedAccessException con FileUpload

Muchas gracias ya me estaba desesperando con el mismo problema.

Etiquetas: fileupload, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:42.