Hola como están tengo la siguiente duda y es como obtengo la ruta completa donde guardo un archivo con un saveDialog
He estado probando lo siguiente pero solo me obtiene el nombre del archivo y no la ruta.
'Obtengo el nombre de la foto
ruta = Path.GetFileName(saveFileDialog1.FileName)
'Igual obtengo nombre
ruta = IO.Path.GetFileName(saveFileDialog1.FileName)
MsgBox(ruta)
He notado que con el OpenDialog cuando uso el FileName si me trae toda la ruta.
Lo siquiente como obtengo la ruta completa de la imagen en un pictureBox
ptbFotoPersonal.ImageLocation
Ya que necesito esa ruta para mandarla a un método por cualquier forma que se pueda ya sea por medio de saveDialog o por el pictureBox.
Saludos y gracias.
Hola ya resolví el problema.
Obtuve la ruta de la siguiente manera.
También se puede de las formas que puse anteriormente el problema estaba en donde ponía la instrucción.
ruta = saveFileDialog1.FileName
La instrucción debe ponerse después de que se presiona el botón de save y así guarda la ruta del saveDialog
Case 1
Me.ptbFotoPersonal.Image.Save(fs, _
System.Drawing.Imaging.ImageFormat.Jpeg)
'Si captura la ruta completa del archivo
ruta = saveFileDialog1.FileName
No me guardaba la imagen porque la ponía después del FileName
'Malo no captura la ruta si el nombre que se le da al archivo
saveFileDialog1.FileName = txtPrimerNombre.Text & " " & txtPrimerApellido.Text
ruta = saveFileDialog1.FileName
Saludos.
La propiedad Filename se asigna cuando el diálogo devuelve una respuesta positiva de diálogo, es decir, cuando cierras el diálogo pulsando el botón OK, ni antes, ni despues.
Using sfd As New SaveFileDialog
With sfd
.AddExtension = True
.DefaultExt = "jpg"
.FileName = "Image"
.Filter = "Jpeg Image|*.jpg;*.jpeg"
.InitialDirectory = My.Application.Info.DirectoryPath
.OverwritePrompt = True
.Title = "Specify the location where to save the image..."
.ValidateNames = True
End With
If sfd.ShowDialog() = DialogResult.OK Then
Me.ptbFotoPersonal.Image.Save(sfd.FileName, Imaging.ImageFormat.Jpeg)
End If
End Using
También puedes suscribirte al evento FileOk, éste se dispara antes de que la ventana del diálogo se haya cerrado:
Private WithEvents sfd As New SaveFileDialog With
{
.AddExtension = True,
.DefaultExt = "jpg",
.FileName = "Image",
.Filter = "Jpeg Image|*.jpg;*.jpeg",
.InitialDirectory = My.Application.Info.DirectoryPath,
.OverwritePrompt = True,
.Title = "Specify the location where to save the image...",
.ValidateNames = True
}
Private Sub Form1_Load() Handles MyBase.Load
Me.sfd.ShowDialog()
End Sub
Private Sub Sfd_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) _
Handles sfd.FileOk
Me.PictureBox1.Image.Save(DirectCast(sender, SaveFileDialog).FileName, Imaging.ImageFormat.Jpeg)
End Sub
Saludos!
Hola gracias por responder
Es correcto solo que estaba confundiendo
Esta instruccion
.FileName = "Image"
Con el de este FileName
Me.ptbFotoPersonal.Image.Save(sfd.FileName, Imaging.ImageFormat.Jpeg)
Gracias he estado probando veo que por medio del evento FileOk se hace mas practico para mis fines.
Gracias y saludos.