
tengo un mantenimiento en donde seleccione una imagen a partir de una ruta especifica guardo el nombre de la ruta en mi bd de SQL Server cuando busco el registro lo encuentra exitosamente y lo muestra. El problema surge cuando le doy modificar al principio pensaba porq jalaba la imagen con la ruta tomada
pbx_foto.image=image.fromfile(ruta)
lo cambie por
pbx_foto.image=new system.drawing.bitmap(ruta)
lo cual me genera exitosamente la imagen
pero igual al tratar de seleccionar la otra imagen de otra ruta y tratar de reemplazar la imagen de la ruta actual por la otra me dice:
q el proceso no puede obtener acceso al archivo ya q esta siendo utilizado por otro proceso.




lo q quiero es q cuando seleccione la imagen pueda reemplazarla
el codigo es el siguiente
Variables Globales
Dim Origen as String,Destino as String,Temp as String
' Procedimiento Global para Llamar a una Imagen
Código PHP:
Public Sub BuscarFoto(ByVal PbFoto As PictureBox)
Dim OpenFile As New OpenFileDialog
Dim NomImg = ""
Try
With OpenFile
.InitialDirectory = "D:\Arellano\" ' Inicializamos la Ruta a Buscar
' Criterios a Filtrar Para la Busqueda de Foto
.Filter = "Imágenes JPG (*.jpg)|*.jpg| " + _
"Imagenes Fireworks (*.png)|*.png|" + _
"Mapas de bits (*.bmp)|*.bmp|" + _
"Todos Los Archivos|*.*"
.Title = "Seleccionar foto" ' Titulo a Mostrar
If .ShowDialog = DialogResult.OK Then ' Preguntamos si es q abrio y lo cerro
NomImg = .FileName ' Sacamos la ruta de la imagen
If System.IO.File.Exists(NomImg) Then ' Preguntamos si existe tal ruta
Origen = NomImg ' Devolvemos la ruta de la imagen
Else
MsgBox("La Ruta Seleccionada no existe o la imagen es incorrecta", 48)
End If
Exit Sub
Else
Origen = ""
End If
End With
Catch ex As Exception
MsgBox(ex.Message, 48)
End Try
End Sub
Código PHP:
Public Sub GuardarFoto(ByVal Org$, ByVal Des$)
Try
System.IO.File.Copy(Org, Des, True) Copiamos la Imagen a Mostrar si existe la reemplaza
Catch ex As Exception
MsgBox(ex.Message, 48)
End Try
End Sub
Código PHP:
BuscarFoto(Me.Pbx_Foto) ' Buscamos La Foto
If Not Origen.Trim = "" Then ' Preguntamos si nos devuelve cadena vacia
Pbx_Foto.Image = New System.Drawing.Bitmap(Origen) ' Creamos una imagen binaria a partir de una ruta
Pbx_Foto.SizeMode = PictureBoxSizeMode.StretchImage ' Adjuntamos la Imagen al Tamaño del Picturebox en Caso Sea Grande
Destino = "D:\Imagenes\img01.jpg" ' Creamos el Destino donde se guardara la imagen por ejemplo
Else
' En Caso devuelva Origen Vacion el Destino Debe Ser Vacio ya q si no agregaremos una ruta sin archivo
Pbx_Foto.Image = Nothing ' Limpiamos el PictureBox
Origen = "" ' Liberamos Variables
Destino = "" Liberamos Variables
End If
Código PHP:
If Not Dt.Rows(0)(17).ToString = "" Then Ruta de la Imagen en SQL Server
Temp = Dt.Rows(0)(17).ToString
Pbx_Foto.Image = New System.Drawing.Bitmap(Temp)
End If
Código PHP:
' Verificamos si hemos agregado una nueva imagen o modificado
If Destino.Trim = "" Then Destino = Temp
' Si el Origen es Vacio es Porq no hemos agregado una imagen y no guarda
If Not Origen = "" Then
GuardarFoto(Origen, Destino)
End If
Registrar()


q podria estar mal y porq no puedo reemplazar la imagen ayuda por favor