Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2011, 09:40
Jheiron
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 13 años, 9 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