Foros del Web » Programación para mayores de 30 ;) » .NET »

Imágenes en servidor

Estas en el tema de Imágenes en servidor en el foro de .NET en Foros del Web. Hola buenas tardes y un gran saludo a Todos. Esta es mi primer pregunta en esta gran comunidad q la verdad si me han ayudado ...
  #1 (permalink)  
Antiguo 10/11/2008, 12:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Imágenes en servidor

Hola buenas tardes y un gran saludo a Todos. Esta es mi primer pregunta en esta gran comunidad q la verdad si me han ayudado mucho cuando leeo preguntas de otros usuarios.
Bueno paso a lo siguiente estoy realizando un proyecto en VB .net para aplicación Windows, se pretende tener lo que son terminales de ventas y servidor, leyendo en muchos foros me di cuanta que la mayoría recomienda guardar las imágenes en una carpeta del servidor y en la base de datos guardar lo que es la ruta que se compondría con el nombre o ip del servidor, la ruta de el directorio y el nombre de la imagen. Mi pregunta es Esta carpeta forzosamente tiene q estar compartida? o se podría realizar de otra manera? Espero su ayuda ya que me urge terminar esta parte.

Última edición por denpz; 10/11/2008 a las 12:43
  #2 (permalink)  
Antiguo 10/11/2008, 20:12
Avatar de pakirringem  
Fecha de Ingreso: noviembre-2008
Mensajes: 15
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Imágenes en servidor

Si debe de estar compartida, para que los usuarios que utilicen el sistema en las terminales tengan acceso a esa carpeta a través de tu aplicación, si no es un recurso compartido enviara un error a los usuarios que quieran visualizar las imágenes
  #3 (permalink)  
Antiguo 13/11/2008, 20:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Imágenes en servidor

Hola buenas noches, como lo mencionaste ya lo probé si funciona, no habrá de otra forma para hacerlo? Gracias hasta pronto
  #4 (permalink)  
Antiguo 14/11/2008, 15:03
Avatar de pakirringem  
Fecha de Ingreso: noviembre-2008
Mensajes: 15
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Imágenes en servidor

Yo no conozco otra manera, siempre lo he manejado así...

Pero asi funciona bien, ya que solo almacenas las imágenes en un lugar y a dicha carpeta le puedes dar solo permisos que requieras.
  #5 (permalink)  
Antiguo 15/11/2008, 19:47
 
Fecha de Ingreso: julio-2008
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Imágenes en servidor

Podés guardar la imagen en un campo BLOB, y asi no necesitas de la ruta de la imagen.
  #6 (permalink)  
Antiguo 26/02/2009, 09:34
 
Fecha de Ingreso: noviembre-2008
Mensajes: 88
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Imágenes en servidor

Lo que pasa que son más de mil artículos y como tenerlo en una base de datos crecería mucho y al hacer el respaldo tardaría un muchísimo o que opinan?
  #7 (permalink)  
Antiguo 05/03/2009, 07:32
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Imágenes en servidor

HOLA YO ENCONTRADO DOS FUNCIONES PARA ALMACENAR IMAGENES EN SQL SERVER ,PRIMERO SE DEBE DE CREAR UN REGISTRO CON UN ID Y LUEGO LA IMAGEN SE CARGA EN FUNCION DEL ID ALMACENADO ESPERO QUE TE SEA UTIL




PRIMERA FUNCION PARA GRABAR LA IMAGEN

Código PHP:
Private Function GrabarImagen(ByVal prmID_CLIENTE As String) As Boolean


        
'***************************************************************************************
        '
*********************************** FUNCION GRABAR IMAGEN  ****************************       
        
'***************************************************************************************

        Dim cn As New SqlConnection(conSQL)
        cn.Open()

        Dim SaveImage As Boolean = False
        Dim curFileName As String = ""
        Try
            '
Buscamos la imagen a grabar
            Dim openDlg 
As OpenFileDialog = New OpenFileDialog()
'*******TIPOS DE FORMATOS DE IMAGEN QUE PUEDES USAR 
            openDlg.Filter = "Todos (*.*)|*.*|Imagenes|*.jpg;*.gif;*.png;*.bmp" 
            Dim filter As String = openDlg.Filter
            openDlg.Title = "Selecccionar la imagen"
            If (openDlg.ShowDialog() = Windows.Forms.DialogResult.OK) Then
                curFileName = openDlg.FileName
                SaveImage = True
            Else
                Return False
                Exit Function
            End If
            If SaveImage = True Then

                '
CARGAR FOTOGRAFIA
                Dim fsFoto 
As FileStream
                fsFoto 
= New FileStream(curFileNameFileMode.Open)
                
Dim fiFoto As FileInfo = New FileInfo(curFileName)
                
Dim Temp As Long fiFoto.Length
                Dim lung 
As Long Convert.ToInt32(Temp)
                
Dim picture(lung) As Byte
                fsFoto
.Read(picture0lung)
                
fsFoto.Close()

'*****LLAMADO AL PROCEDIMIENTO EN SQL QUE GRABARA LA IMAGEN 
                Dim cmdFoto As New SqlCommand("TRABAJADOR_1", cn)
                cmdFoto.CommandType = CommandType.StoredProcedure
'
*****DATOS DEL PROCEDIMINTO 
                Dim sql_ID_Cliente 
= New SqlParameter("@CD"prmID_CLIENTE)
                
Dim sql_FOTO As New SqlParameter("@IMAGEN"SqlDbType.Image)
                
sql_FOTO.Value picture
                cmdFoto
.Parameters.Add(sql_ID_Cliente)
                
cmdFoto.Parameters.Add(sql_FOTO)
                
cmdFoto.ExecuteNonQuery()
                
cmdFoto.Dispose()
                
sql_FOTO Nothing
                picture 
Nothing
                
Return True
                
Exit Function
            
End If
        Catch 
ex As Exception
            MessageBox
.Show(ex.Message)
            Return 
False
        End 
Try
    
End Function 



SEGUNDA FUNCION PARA MOSTRAR LA IMAGEN


Código PHP:
 Private Sub CargarImagen(ByVal prmID_CLIENTE As String)

        
'***************************************************************************************
        '
*********************************** CARGAR IMAGEN  ************************************       
        
'***************************************************************************************

        Dim cn As New SqlConnection(conSQL)
        cn.Open()
        Try

'
*******BUSCAR LA IMAGEN EN TU BASE DE DATOS 

            Dim cmdFoto 
As New SqlCommand("select imagen from TRABAJADOR  where CD = '" prmID_CLIENTE "'")
            
cmdFoto.Connection cn
            cmdFoto
.CommandType CommandType.Text
            Dim daFoto 
As New SqlDataAdapter(cmdFoto)
            
Dim dsFoto As New DataSet()
            
daFoto.Fill(dsFoto)
            
Dim bits As Byte() = CType(dsFoto.Tables(0).Rows(0).Item(0), Byte())
            
Dim memorybits As New MemoryStream(bits)
            
Dim bitmap As New Bitmap(memorybits)
            
picFoto.Image bitmap
            cmdFoto
.Dispose()
            
dsFoto.Dispose()
            
cmdFoto.Dispose()
        Catch 
EX As Exception

            MsgBox
("NO HAY IMAGEN PARA ESTE REGISTRO ""16""No se puede mostrar fotografia")
            
picFoto.Image Nothing
            foto
.Refresh()
        
End Try
    
End Sub 

PROCEDIMIENTO SQL SERVER

Código PHP:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE 
[dbo].[TRABAJADOR_1]
(
@
CD numeric(180),
@
IMAGEN image
)
AS
UPDATE TRABAJADOR
SET IMAGEN
= @IMAGEN
where CD 
= @CD 






''*****BOTON CARGAR IMAGEN

Código PHP:
  Private Sub Bcargar_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Bcargar.Click

        
'***************************************************************************************
        '
*********************************** CARGAR IMAGEN ************************************       
        
'***************************************************************************************

        Dim cn As New SqlConnection(conSQL)
        cn.Open()

        Dim sqlconsulta As String

'
ESTE EJEMPLO LO USE PARA UN FORMULARIO DE REGISTRO DE TRABAJADORES  
'LA COSA ES QUE LAS FUNCIONES SE UTILIZAN CON UN ID Y EN FUNCION DE ESO 
'
SE CARGA LA IMAGEN 

        sqlconsulta 
"select CD from TRABAJADOR where rut_tra= " Trut1.Text
        Dim ocmd 
As New SqlCommand(sqlconsultacn)
        
Dim odr As SqlDataReader
        odr 
ocmd.ExecuteReader()
        If 
odr.Read() Then
            TCD
.Text() = odr.Item("CD").ToString()
        
End If
        
odr.Close()

ACA ENVIA EL ID ENCONTRADO  A LA FUNCION Y CARGA LA IMAGEN 

        
If GrabarImagen(TCD.TextThen
            MessageBox
.Show("Imagen almacenada""Grabar Imagen"MessageBoxButtons.OKMessageBoxIcon.Information)
            
CargarImagen(TCD.Text)
        
End If

        
MsgBox("EDICION TERMINADA ""64""Operacion exitosa")
        
Bcargar.Enabled False

    End Sub 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:31.