none
Cerrar archivo para poder ser usado. RRS feed

  • Pregunta

  • Sucede que tengo un botón que abre el "dialog" para cargar una imagen, esto funciona bien, el problema es que si lo vuelvo a presionar para cargar la otra imagen después de que elijo la imagen me resulta este error:

    Excepción no controlada del tipo 'System.IO.IOException' en mscorlib.dll

    Información adicional: El proceso no puede obtener acceso al archivo 'C:\BarberMaster\temporal.jpg' porque está siendo utilizado en otro proceso.

    El código es:

    private void btEditarImagen_Click(object sender, RoutedEventArgs e)
            {
                string destino = @"C:\BarberMaster\";        
    
                Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
                           
                ofd.Filter= "Archivos de imagen (.jpg)|*.jpg|(.png)|*.png|All Files (*.*)|*.*";
                ofd.FilterIndex = 1;
                ofd.Multiselect = false;            
    
                if (ofd.ShowDialog()== true)                
                {
                    tbFotoTrab.Text = "";
                    flagfoto = 1;              
    
                    System.IO.File.Copy(ofd.FileName, destino + "temporal.jpg", true); //Aquí da el error
                    
                    try
                    {
                        BitmapImage logo = new BitmapImage();
                        logo.BeginInit();
                        logo.UriSource = new Uri(@"C:\BarberMaster\temporal.jpg");
                        logo.EndInit();
                        imgEditFoto.Source = logo;
                        tbFotoTrab.Text = "foto" + tbNombreTrab.Text.TrimEnd() + tbApeTrab.Text.TrimEnd() + ".jpg";                                      
                    }
                    catch
                    {
                        System.Windows.Forms.MessageBox.Show("El archivo no es válido", "Error");
                    }                           
                }
    
            }
    

    ¿Cómo podría liberarlo para evitar el error?

    Gracias de antemano.


    jueves, 3 de marzo de 2016 23:33