none
¿Como pasar una Imagen o archivo de una carpeta x a una de mi aplicacion? en .net

    Question

  • Buenas tardes, necesito que me hechen una mano...
    Les explico Necesito hacer una aplicacon, para guradar las especificaciones de un contrato, entre los datos, necesito almacenar una foto....
    Lei que no es conveniente, guardar la imagen porque se hace muy pesada y grande la BD. Entonces pense, guardar las imagenes en una carpeta, que el usuario seleccione de la aplicacion la imagen y la muestre en un picture box, pero me surgieron las siguientes interrogantes: 1. ¿Como guardo esa imagen que selecciono a una carpeta cualquiera, que este en el directorio, donde instalo mi aplicacion? Es decir, supongamos que tengo una carpeta llamada Aplicacion, en disco C, donde instalo mi aplicacion cuando creo mi Setup, pero la imagen esta en mis imagenes o en x sitio, ya que la imagen la proporciona el usuario.... ¿Coomo paso ese archivo de esa carpeta x a una carpeta que yo quiera en mi directorio de mi aplicacion? unido a eso me surgio otra interrogante....
     2. ¿Como indico en mi setup que quiero que se cree al instalar mi aplicacion, que se cree una carpeta llamada Fotos por ejemplo? Es decir que cuando yo instale mi aplicacion se cree automaticamente la carpeta fotos y esa carpeta fotos.... Poder guarda la imagen que el usuario seleccione? De modo que, yo almacene en mi BD solo la ruta, de las fotos que esten en mi directorio raiz.... No se si me explique bien, espero que si, sino me preguntan...
    Estoy trabajando con visual estudio 2008 y con sql server 2008
     gracias de antemano por la ayuda. Saludos
    Saturday, April 23, 2011 6:52 PM

All replies

  • Buenas Roxseni.

    ¿Tu intención es almacenar la foto en el propio equipo local de cada usuario?

    ¿Después quieres que tu programa sepa la ruta de esa imagen para que la cargue en tiempo de ejecución?

    Puedes crear una carpeta en tu instalador dondo botón derecho en el proyecto de instalación, Ver -> Sistema de archivos, y en la carpeta de instalación crear una carpeta.

    Un saludo.


    http://www.lopezatienza.es
    Saturday, April 23, 2011 8:02 PM
  • hola lopezatienza, si efectivamente

    La idea es almacenar las fotos en una carpeta local, en el equipo especifico....

    y entonces cuando yo consulte el producto, si tiene foto que me la muestre en el picturebox, sino que de la alerta para que la cargue....

    Pero necesito cargarla de donde este, es decir, que el usuario la seleccione, la vea y despues cuando le de guardar, moverla de esa ubicacion original a la carpeta que me interesa de mi aplicacion......

    voy a probar lo que me has dicho de como crear la carpeta, mil gracias

    Monday, April 25, 2011 7:21 PM
  • mira esta forma,

    asi lo he hecho yo,

    tienes un picturebox, un textbox, dos botones y una carpeta en cualquier sitio del pc, la cual lo mas importante es que esa carpeta no se cambien por que alli es donde van a estar las fotos,

    en la tabla de tu base de datos debes tener un campo tipo varchar(100) el cual va enlazado con el textboxt para guardar la ruta de la imagen

    y otro campo tipo varbinary(max)para guardar la imagen.

    puedes usar cualquiera de los dos o los dos si quieres(guerdas la ruta o guardas la imagen o los dos no hay problema)

    en los botones al darle clik le das las siguienetes acciones

    1.boton buscar

     

    If (OpenFileDialog1.ShowDialog() = DialogResult.Cancel) Then
     

     

    Exit Sub
     

     

    Else

    FotoPictureBox.Image = Image.FromFile(OpenFileDialog1.FileName)

    RutaImagenTextBox.Text = OpenFileDialog1.FileName

     

    End If

     

     2.boton eliminar

     

    With FotoPictureBox

    .Image =

    Nothing

     

    End With

     

    funciona la foto se guerda en la carpeta destinado para esto y siempres que le des buscar, vas y la buscas y cuando la tres puedes guardar y listo siempre se mostrara o se podra eliminar o cambiar.

    si te ayudo este ejemplo no olvides marcarlo.

     

     

    No olvides arrastrar del cuadro de herramientas el opendialog al formulario.
    • Proposed as answer by Rafilla13 Monday, April 25, 2011 8:09 PM
    • Edited by Rafilla13 Monday, April 25, 2011 8:14 PM coregir codigo
    • Unproposed as answer by Roxseni Wednesday, April 27, 2011 3:38 PM
    Monday, April 25, 2011 8:04 PM
  • mira esta forma,

    asi lo he hecho yo,

    tienes un picturebox, un textbox, dos botones y una carpeta en cualquier sitio del pc, la cual lo mas importante es que esa carpeta no se cambien por que alli es donde van a estar las fotos,

    en la tabla de tu base de datos debes tener un campo tipo varchar(100) el cual va enlazado con el textboxt para guardar la ruta de la imagen

    y otro campo tipo varbinary(max)para guardar la imagen.

    puedes usar cualquiera de los dos o los dos si quieres(guerdas la ruta o guardas la imagen o los dos no hay problema)

    en los botones al darle clik le das las siguienetes acciones

    1.boton buscar

     

    If (OpenFileDialog1.ShowDialog() = DialogResult.Cancel) Then
     

     

    Exit Sub
     

     

    Else

    FotoPictureBox.Image = Image.FromFile(OpenFileDialog1.FileName)

    RutaImagenTextBox.Text = OpenFileDialog1.FileName

     

    End If

     

     2.boton eliminar

     

    With FotoPictureBox

    .Image =

    Nothing

     

    End With

     

    funciona la foto se guerda en la carpeta destinado para esto y siempres que le des buscar, vas y la buscas y cuando la tres puedes guardar y listo siempre se mostrara o se podra eliminar o cambiar.

    si te ayudo este ejemplo no olvides marcarlo.

     

     

    No olvides arrastrar del cuadro de herramientas el opendialog al formulario.


    hola rafilla, me temo que eso que me indicas ya lo he hecho, pero no quiero guardar la imagen sino la ruta

    que eso lo hago ya, lo que necesito es mover la foto de donde la seleccione el usuario, a la carpeta de mi aplicacion, intente hacerlo asi:

    Dim dialog As OpenFileDialog = New OpenFileDialog()
            Dim Img As String
            dialog.ShowDialog()
            Img = dialog.FileName
            PbFoto.Image = Image.FromFile(Img)
            Files = Img

    Posterioremente intento copiar ese archivo al directorio donde se ejecuta mi aplicacion:

            PbFoto.Dispose()
            File.Copy(Files, Ruta) Dim Ruta As String
            Ruta = AppPath()
            PbFoto.Dispose()
            File.Copy(Files, Ruta)

    Pero me tira error y me dice: El archivo de destino "C:\Users\archivos\Documents\Visual Studio 2008\Projects\ControlEmpleados\ControlEmpleados\bin\Debug" es un directorio, no un archivo."}

    si lo intento con

    File.Move (Files, ruta) me tira error diciendo: No se puede acceder al archivo porque esta siendo usado por otro proceso....

    Intente con el pbFoto.Dispose liberar los recursos, pero no funciona.

    Pero me da error, como los indique... ¿Tienes alguna idea de como podria solucionarlo? Mil gracias

    Wednesday, April 27, 2011 3:13 PM
  • pues la verdad no lo he hecho,

    pero me iamgino que al tener ya la foto en el picture box, le dices que guarde la ruta o los bytes, pero pienso que en ese mismo evento click le digas que le exporte la foto o la imagen a la carpeta en el directorio.

    Wednesday, April 27, 2011 7:11 PM