Foros del Web » Programando para Internet » ASPX (.net) »

APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

Estas en el tema de APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework en el foro de ASPX (.net) en Foros del Web. lo que no aparece por internet ni muerto que uno este ¬¬ depues de tanto trabajo lo he conseguido con la ayuda de un compañero ...
  #1 (permalink)  
Antiguo 15/09/2011, 09:40
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 10 meses
Puntos: 1
De acuerdo APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

lo que no aparece por internet ni muerto que uno este ¬¬ depues de tanto trabajo lo he conseguido con la ayuda de un compañero de trabajo.. aqui va lo que no existe aun ¬¬

y perdon estoy medio enfadado porque hace mucho que estaba en eso y nada de nada y ahora sii :D

primero creense una tabla con un campo varchar(max)

en mi caso cree una tabla llama tipoObras y en ella almaceno la descripcion y la ruta de la imagen...
esta hecha de esta manera:

IdObra (primari key)
DescripcionObra(varchar(100))
ImagenUrl(varchar(max))

instancien la entidad jejeje osea
Código PHP:
mifotoEntities contex = new mifotoEntities(); 
y agrege un
textbox para la descripcion de la obra llamado txtDescripcion
un fileupload llamado iptFile
y un boton guardar llamado btnGuardar


entonces agregen un repeater:

Código PHP:
<asp:Repeater ID="Repeater1" runat="server">
    <
HeaderTemplate>
    <
table id="Tabla" border="2" cellspacing="2" cellpadding="2" class="Display">
    <
thead>
    <
tr>
    <
th>Descripcion</th>    
    <
th>Imagen</th>
    <
th>Acciones</th>
    </
tr>
    <
tbody>
    </
thead>
    </
HeaderTemplate>
    <
ItemTemplate>
    <
tr>    
    <
td><%# Eval("Descripcion") %></td>
    
<td>
    
        [
B]<asp:Image ID="Image1" runat="server" Width="80px" Height="50px" ImageUrl='<%# Eval("imagenUrl") %>' />[/B]</td>    
    <
td>
        <
asp:LinkButton ID="Linkedita" CommandName="Editar" CommandArgument='<%# Eval("id") %>' runat="server">Editar</asp:LinkButton>
        <
asp:LinkButton ID="Linkelima" CommandName="Eliminar" CommandArgument='<%# Eval("id") %>' runat="server">Eliminar</asp:LinkButton></td>
    </
tr>    
    </
ItemTemplate>
    <
FooterTemplate>
    </
tbody></table>
    </
FooterTemplate>
    </
asp:Repeater
luego en el evento click del boton guardar hacer lo siguiente

Código PHP:
if (iptFile.HasFile)
            {
                
string baseDir Server.MapPath("./ImagenTipo/");/*directorio donde se guardaran las imagenes, ImagenTipo es una carpeta*/

                
string fileName Path.GetFileName(iptFile.PostedFile.FileName);/*obtenemos el nombre de la imagen*/
                
iptFile.PostedFile.SaveAs(baseDir fileName);/*salvamos el directorio + el nombre de la imagen*/

//insertanto los datos
                
TipoObras tOpb = new TipoObras
                
{
                    
descripcion txtDescripcion.Text,
                    
imagenUrl "ImagenTipo/" fileName /*aqui se hace la magia
aqui ponemos el nombre de la carpeta entre comillas y un slash y le concatenamos la variable filename que almacena el nombre de la imagen
y cuando se almacene en la base de datos sera de esta manera
ImagenTipo/foto.jpg*/
                
};
                
contex.AddToTipoObras(tOpb);
                
contex.SaveChanges();
            } 
y listo..ahora para cargarla en el repeater:

si se fijaron en el repeater veran esta linea de codigo:
Código PHP:
 <asp:Image ID="Image1" runat="server" Width="80px" Height="50px" ImageUrl='<%# Eval("imagenUrl") %>' /> 
usando un control image de asp.net en el evento llamado ImageUrl le paso el nombre del campo de la bd y automaticamente trae la imagen fijaos



no hay que hacer ninguna convercion ni nada y todo termina bien.. espero que les haya gustado cualquier cosa avisan :D
  #2 (permalink)  
Antiguo 15/09/2011, 12:13
 
Fecha de Ingreso: junio-2010
Mensajes: 49
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

Solo un par de apuntes,

el tipo de datos varchar no es unicode, por lo que puede ocasionar problemas con "ñ" y acentos. Te recomiendo usar nvarchar aunque ocupe el doble.

Poner el campo UrlImagen como varchar(MAX) me parece un poco excesivo, el número máximo de caracteres son varchar(8000) y nvarchar(4000)... ¿no te parecen suficientes? Con un nvarchar(150) tienes más que de sobra.

Saludos!
  #3 (permalink)  
Antiguo 15/09/2011, 12:19
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

jjejej grax por los aportes, los tomare en cuenta ya saben pongan como dice el asi es mejor :D
  #4 (permalink)  
Antiguo 15/09/2011, 16:12
 
Fecha de Ingreso: septiembre-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Información Respuesta: APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

El varchar toma la pocision que necesita y el otro lo libera puede ser de 4000 y si tiene 4 caracteres es de 4.
  #5 (permalink)  
Antiguo 15/09/2011, 16:49
 
Fecha de Ingreso: junio-2010
Mensajes: 49
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: APORTE: guardar ruta de imagen en bd y mostrar imagen entity framework

Cita:
Iniciado por kakingchoi02 Ver Mensaje
El varchar toma la pocision que necesita y el otro lo libera puede ser de 4000 y si tiene 4 caracteres es de 4.
Ahí te confundes....

varchar y nvarchar... tamaño variable... como bien indica ese "var",

char y nchar.... tamaño fijo.

Etiquetas: almacenar, c#, entity, framework, imagenes, ruta, server, sql, aspx
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 10:12.