ASP.NET - ¡Ayuda con esto por favor!

 
Vista:

¡Ayuda con esto por favor!

Publicado por Esteban (19 intervenciones) el 27/07/2005 18:51:32
Hola amigos del foro.

Tengo un formulario donde el usurario puede subir archivos al servidor, asi que me estuve buscando información al respecto y encontré este código pero no logro hacer que funcione.

Imports System.IO
-
-
-

Dim TargetPath = "C:\Inetpub\wwwroot\CCD" & Path.GetFileName(txtUpload.PostedFile.FileName)
txtUpload.PostedFile.SaveAs(TargetPath)
Mensaje.Text = "Tu archivo se recibio correctamente en:: " & TargetPath & ""

Al ejecutarlo me aparece el siguiente error

Error de servidor en la aplicación '/ CCD'.
--------------------------------------------------------------------------------

Referencia a objeto no establecida como instancia de un objeto.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

Error de código fuente:

Línea 32: Private Sub BtnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEnviar.Click
Línea 33:
Línea 34: Dim TargetPath = "C:\Inetpub\wwwroot\CCD" & Path.GetFileName(txtUpload.PostedFile.FileName)
Línea 35: txtUpload.PostedFile.SaveAs(TargetPath)
Línea 36: Mensaje.Text = "Tu archivo se recibio correctamente en:: " & TargetPath

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¡Ayuda con esto por favor!

Publicado por Victor Collado (219 intervenciones) el 27/07/2005 21:17:23
Hola

Tu ejemplo se ve bien, lo unico que he notado es que te falta un \ despues del folder CCD es decir tu TargetPath deberia definirse asi:

Dim TargetPath = "C:\Inetpub\wwwroot\CCD\" & Path.GetFileName(txtUpload.PostedFile.FileName)

Prueba haciendo este cambio, ademas recuerda darle permiso de escritura a el usuario Everyone en la carpeta CCD.

Victor Collado+
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Esteban (19 intervenciones) el 28/07/2005 00:45:15
Hola, Antes que otra cosa gracias por responder a mi pregunta.

ya hice lo que me indicaste con la \, pero aun así, sigue sin funcionar, me marca el mismo error .

Y con respecto a darle permiso de escritura a el usuario Everyone en la carpeta CCD, no se como se hace eso, es probable que esa sea la razón del porque no funciona. Te agradecería mucho si me indicas como se hace eso.

Saludos y hasta pronto.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Victor Collado (219 intervenciones) el 28/07/2005 16:31:19
Hola

Solo tienes que hacer clic derecho del mouse sobre la carpeta ir a propiedades y alli ir a el tab security seleccionas everyone y debajo marcas las direferentes opciones asegurate que puedan tener derecho de escritura sobre esta carpeta.
Esto es para windows 2000 en windows XP debe ser algo parecido a lo mejor cambia un poco el diseño de los diferentes tab de las propiedades de las carpetas pero debe ser igual.

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Esteban (19 intervenciones) el 28/07/2005 16:55:45
Hola, ya lo hice lo que me indicas y nada, sigue marcando el mismo error
Referencia a objeto no establecida como instancia de un objeto
Línea 35: Dim TargetPath = "C:\Inetpub\wwwroot\CCD\" & Path.GetFileName(txtUpload.PostedFile.FileName)

Ya no se que hacer. Buscando en Internet encontré otros ejemplos y al implementarlos, marcar exactamente el mismo error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Victor Collado (219 intervenciones) el 28/07/2005 17:26:34
Hola

Antes de verificar tu codigo quiero que me digas si tu Control txtUpload
tien agregado runat=server. Este control Input tipo file es un control HTML pero para que pueda ser tratado en elservidor tiene que tener agregado el la propiedad runat = server.

Espero tu respuesta. Si esto lo tienes asi voy a hacer un ejemplo yo y te lo pongo aqui.

Saludos

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Esteban (19 intervenciones) el 28/07/2005 17:32:14
Si tengo agregado el "runat=server" esta asi <INPUT id="txtUpload" type="file" name="txtUpload" runat="server">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Victor Collado (219 intervenciones) el 28/07/2005 17:53:16
Hola

Vamos a hacer algo ya que yo copie tu ejemplo y me funciona, enviame a mi correo la pagina aspx y la pagina de codigo .vb y yo voy a revisar que pasa y te la envio de vuelta.

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¡Ayuda con esto por favor!

Publicado por Esteban (19 intervenciones) el 28/07/2005 18:22:05
Hola, pues que crees! justamente en este momento le acabo de agregar algo y ya funciona, y fue los sig.
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
Justo esto "encType="multipart/form-data" creo que eso es lo que faltaba, buscando en Internet lo encontré.

Te agradazo mucho, tu ayuda mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar