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

OpenFileDialog fd = new OpenFileDialog();
fd.Filter = 
"Archivos de imágen (.jpg)|*.jpg|All Files (*.*)|*.*";
fd.Multiselect = false;

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

  bool? checarOK = fd.ShowDialog();
  if (checarOK == true)
  {

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

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:

string rutaDestino = 
@"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:

string archivoDestino = 
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:

if(!System.IO.Directory.Exists(rutaDestino))
{
	System.IO.Directory.CreateDirectory(rutaDestino);
}

Y finalmente, copiamos el archivo:

System.IO.File.Copy
(archivoOrigen, archivoDestino, true);

Por si no quedó claro 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

7 comentarios en “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!

Deja un comentario

Tu dirección de correo electrónico no será publicada.