problemas al mostrar las imagenes recien cargadas

08/12/2008 - 19:31 por javier_zava | Informe spam
hola gente mi problema es el siguiente estoy armando un aplicacion
windows en c# con un formulario para cargar los datos en una base de
datos y a la cual le pongo una foto, mi eproblema es que cuendo cargo
la foto por primera vez me dice que la ruta no existe o no ecuentra el
archivo (pero me fijo dentro de la carpeta y la foto si esta ),
entonces cierro el formulario y lo vuelvo abrir y me muestra la foto
sin problemas, es como si no refrescara la ruta donde se gusrda el
archivo la verdad estoy desconcertado, si algeuin me puede dar una
mano se los agradeceria ya que etoy medio juagdo de tiempo ya que lo
tengo que presentar

aca les dejo el codigo haber si alguno se da cuenta


private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
txtfoto.Text = openFileDialog1.FileName;
//fotoTextBox.Text es el campo de la base de datos donde se guarda la
ruta el cuel esta oculto para que no se vea, le pongo el nombre del
dni para que sea unico
fotoTextBox.Text = @"imagenes\" + dniTextBox.Text + ".jpg";

string path = Application.StartupPath + @"\imagenes\";

FileInfo ArchivoFoto = new FileInfo(txtfoto.Text);
ArchivoFoto.CopyTo(path + dniTextBox.Text + ".jpg", true);

MostrarImagen();

}

private void MostrarImagen()
{

if (fotoTextBox.Text != "")
{
//esto es lo que me carga el fototexbos.tex .\imagenes\7878.jpg
pictureBox1.Image = Image.FromFile(".\\"+fotoTextBox.Text);
}
else
{
pictureBox1.Image = null;
}

txtfoto.Text = "";
}



desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
08/12/2008 - 19:55 | Informe spam
Creo que el problema es este: Estás cargando ".\imagenes\7878.jpg", es
decir, la cargas desde el directorio actual ("."), y lo mismo cuando abres
@"imagenes\...", que también es una ruta relativa al currentdirectory. Este
directorio varia según cómo hayas abierto el ejecutable, y también puede
variar durante la ejecución del código. En particular, el openFileDialog
tiene la mala costumbre de modificar el directorio actual. Seguramente por
eso al principio no te funciona y luego sí.

Te recomiendo que, o bien uses rutas absolutas en lugar de relativas, o bien
llames siempre primero a Directory.SetCurrentDirectory (antes de acceder a
cualquier ruta) para asegurarte de que el directorio actual es el que tú
quieres.


"javier_zava" wrote in message
news:
hola gente mi problema es el siguiente estoy armando un aplicacion
windows en c# con un formulario para cargar los datos en una base de
datos y a la cual le pongo una foto, mi eproblema es que cuendo cargo
la foto por primera vez me dice que la ruta no existe o no ecuentra el
archivo (pero me fijo dentro de la carpeta y la foto si esta ),
entonces cierro el formulario y lo vuelvo abrir y me muestra la foto
sin problemas, es como si no refrescara la ruta donde se gusrda el
archivo la verdad estoy desconcertado, si algeuin me puede dar una
mano se los agradeceria ya que etoy medio juagdo de tiempo ya que lo
tengo que presentar

aca les dejo el codigo haber si alguno se da cuenta


private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
txtfoto.Text = openFileDialog1.FileName;
//fotoTextBox.Text es el campo de la base de datos donde se guarda la
ruta el cuel esta oculto para que no se vea, le pongo el nombre del
dni para que sea unico
fotoTextBox.Text = @"imagenes\" + dniTextBox.Text + ".jpg";

string path = Application.StartupPath + @"\imagenes\";

FileInfo ArchivoFoto = new FileInfo(txtfoto.Text);
ArchivoFoto.CopyTo(path + dniTextBox.Text + ".jpg", true);

MostrarImagen();

}

private void MostrarImagen()
{

if (fotoTextBox.Text != "")
{
//esto es lo que me carga el fototexbos.tex .\imagenes\7878.jpg
pictureBox1.Image = Image.FromFile(".\\"+fotoTextBox.Text);
}
else
{
pictureBox1.Image = null;
}

txtfoto.Text = "";
}
Respuesta Responder a este mensaje
#2 javier_zava
08/12/2008 - 21:48 | Informe spam
me podrias dar un ejempŽlo mas concreto para poder entenderlo, ya que
soy medio novato en c#

gracias
Respuesta Responder a este mensaje
#3 Alberto Poblacion
08/12/2008 - 22:13 | Informe spam
"javier_zava" wrote in message
news:
me podrias dar un ejempŽlo mas concreto para poder entenderlo, ya que
soy medio novato en c#




Prueba lo siguiente:

en lugar de Image.FromFile(".\\"+fotoTextBox.Text);

mete esto:

Image.FromFile(Path.Combine(Application.StartupPath, fotoTextBox.Text));

De esa forma, combinas la ruta de arranque del programa con la ruta relativa
que hay en el textbox (y si no es ahi donde tienes las imágenes, modifica
esa sentencia para añadir el subdirectorio donde las tengas).
Respuesta Responder a este mensaje
#4 javier_zava
08/12/2008 - 23:16 | Informe spam
muchisimas gracias anduvo perfecto

salu2
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida