Copiando un archivo a una carpeta

Meli nos escribe esto:

estoy empezando con WPF y no se como poder transportar o copiar diferentes archivos o musica o videos a nuestro programa

Una pregunta que a mas de uno le habrá roto la cabeza, sin embargo, la solución es muy sencilla.

En primer lugar, he creado una solución WPF muy sencilla, con un botón, el cual, al dar click sobre él,  como en un ejemplo anterior, creamos un OpenFileDialog y le ponemos algunas propiedades

image

   1: OpenFileDialog fd = new OpenFileDialog();

   2: fd.Filter = 

   3:      "Archivos de imágen (.jpg)|*.jpg|All Files (*.*)|*.*";

   4: fd.Multiselect = false;

Posteriormente, checamos si el usuario ha hecho click sobre el botón ok, una vez seleccionado su archivo:

 

   1: bool? checarOK = fd.ShowDialog();

   2:             if (checarOK == true)

   3:             {

Si se ha seleccionado un archivo, y posteriormente clickeado sobre OK, recuperaremos la ruta del archivo:

   1: string archivoOrigen = fd.FileName;

Luego, especificaremos la ruta del directorio al cual queremos enviar nuestros archivos, si te has dado cuenta, muchos programas utilizan alguna carpeta sobre Documents, no sobre la aplicación, en nuestro caso, creamos la carpeta sobre Public:

   1: string rutaDestino = 

   2:     @"C:\Users\Public\CarpetaPrueba\SubDir";

Posteriormente, para crear un nuevo archivo, combinaremos la ruta del destino, con el nombre del archivo que hemos obtenido del OpenFileDialog:

   1: string archivoDestino = 

   2:     System.IO.Path.Combine(rutaDestino, fd.SafeFileName);

En caso de que sea la primera vez que se ejecute la aplicación, y no exista el folder de Subdir, lo crearemos:

   1: if(!System.IO.Directory.Exists(rutaDestino))

   2:  {

   3:    System.IO.Directory.CreateDirectory(rutaDestino);

   4:  }

Y finalmente, copiamos el archivo:

   1: System.IO.File.Copy

   2:     (archivoOrigen, archivoDestino, true);

Por si no entendieron algún paso, les paso el link de la solución:

http://cid-2c11b62be5eb284d.skydrive.live.com/self.aspx/P%c3%bablico/Proyectos%20Blog/CopyFiles.zip

 

Salu2

Héctor Uriel Pérez Rojas

5 comentarios sobre “Copiando un archivo a una carpeta

  1. Hola, muy bueno este post de verdad. Pero me podrias ayudar con algo cuando trato de guarda la imagen(archivo), en una carpeta me lanza un error diciendome que no se puede accesar a la ruta.

    Muchas gracias y plis ayudame con la preguntica!

  2. Excelente!
    Me sirvio muchisimo, lo unico que falto son las referencias, tuve que agregar las siguientes:
    using System.IO;
    using Microsoft.Win32;

    Eso sería, saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s