Subir archivos al servidor


 Muchas veces necesitamos que nuestros usuarios puedan subir archivos al servidor  ya sean imágenes,pdf, rar,zip,etc, y es común que quieran encontrar métodos fáciles y agiles para realizar esto. Es por eso que hoy les traigo un post donde les enseñare a crear una aplicación en ASP.NEET Y C# para que puedan subir archivos a una carpeta del servidor.
Es muy simple, pero vaya que nos es útil, y más cuando es para satisfacer las necesidades de nuestro cliente.
Sin hablar más aquí vamos:
Lo primero que haremos es crear una aplicación en Visual Studio - ASP.NET y escogeremos como lenguaje C#, luego agregaremos una nueva WebPage y agregaremos los siguientes controles:
FileUpload – Label - Boton
Le cambiaremos los id de los controles  y les pondremos nombres descriptivos por aquello de las Buenas practicas de programación. La propiedad Text del botón le pondremos “Enviar”.
Crearemos una carpeta en el server que se llame “Archivos” para esto daremos Click derecho en el explorador de soluciones y “Agregar nueva carpeta”  (Add New Folder)  la que tendrá el grandioso nombre de  “Archivos”.
En la vista Dividir (Split) daremos doble click en el botón enviar y se creara el evento click de ese botón, al cual le agregaremos el siguiente código:

  
  try
        {
            FlpArchivo.SaveAs(Server.MapPath("~/Archivos/") + FlpArchivo.FileName);
            lblinformacion.Text = "El archivo " + FlpArchivo.FileName + " ha sido subido correctamente";
        }
        catch
        {
            lblinformacion.Text = "Ha ocurrido un error al intentar subir el archivo al servidor";
        }


Ahora pasare a explicar cada una de las lineas anteriores:

1. Inserto el codigo que voy a utilizar dentro de un try{}cattch{} para controlar cualquier error, que no sea visible para el usuario y se muestre solo un mensaje en el label.

2. Invoco el metodo SaveAs del FileUpload - "FlpArchivo" el cual se encarga de guardar el archivo dentro de una ruta especificada.
Este metodo recibe como parametro un string el cual lleva la ruta donde se va a guardar el archivo.
Para obtener la ruta correcta de la carpeta utilizo el metodo Server.MapPath() al cual le digo que mi carpeta esta en la parte principal de mi proyecto (~) y paso a decirle el nombre de la carpeta, este metodo me devuelve la ruta formateada de la carpeta y le concateno el nombre del archivo, que lo obtengo llamando a la propiedad FileName del FileUpload - FlpArchivo.

3.  Escribo en el Label que la operacion ha sido exitosa en caso que no saliera ningun error, de lo contrario se ejecutara catch y escribira en el label que hubo un error.

y listo de esta forma podremos subir cualquier cantidad de archivos a nuestro server desde ASP.NET, C#, aunque hay que tener en cuenta que cuando tiene un tamaño muy grande se producira un error en la aplicacion, el cual estaremos analizando en un proximo post.

Aqui les dejo el archivo de proyecto para descargar en ASP.NET Y C#:

SubirArchivos.Zip


6 comentarios:

  1. Excelente junto lo que necesitaba, buen aporte de verdad que es un buen aporte.

    ResponderEliminar
  2. muy bueno funcion de una jeee

    ResponderEliminar
  3. ayuda necesito esto mismo pero nesecito subirlo a otro servidor como cambiaria la ruta osea no lo quiero en mi servidor donde tengo la aplicacion sino en otro diferente quien me puede responder

    ResponderEliminar
    Respuestas
    1. Hola amigo,
      Es claro lo que necesitas, la mejor forma de hacer esto es por medio de un webservice, mañana en la mañana voy a escribir un post de como realizar esta hazaña y te envió el link.
      Si lo necesitas muy urgente escríbeme a jairoortiz19@gmail.com y te lo envió al correo.

      Eliminar
  4. Si me funciona pero al momento de subirlo a un hosting ya no me funciona

    ResponderEliminar

Google