Array
(
)

Galeria de Imagem Asp.Net e C#

Tinho
|
MVP
    12 abr 2011

Boa Noite Pessoal,   Preciso de uma indicação de vocês para desenvolver uma galeria de imagens onde o usuário faz um Upload de uma imgem e essa imagem após ser salva ela é carregada na mesma página como abaixo:     Cada imagem salva deverá incrementa a coluna e linha na página, por exemplo se a linha 2 tiver 4 imagens incrementa uma linha 3 assim por diante.

Rodrigo Odasaki
   - 12 abr 2011

Basicamente você vai salvar o caminho da imagem na base de dados e a imagem em disco no servidor.
Você consegue de forma simples e fácil utilizar o controle datalist para exibir está imagem.

0
|
0

Tinho
|
MVP
    12 abr 2011

Tem algum exemplo? Link?

0
|
0

Evandro Lopes
   - 13 abr 2011

Encontrei esse, nao com imagens, mas acredito que já ajudara vc: http://www.macoratti.net/aspn_dtl.htm

0
|
0

Marcelo Nascimento
   - 14 abr 2011



Olá tem este site com varios projetos que pode ajudar você


Para o seu caso encontrei estes:

Muito similar a sua solicitação
http://www.codeproject.com/KB/aspnet/FileUploadUtility.aspx


Este se parece como copia do Windows Explorer:
http://www.codeproject.com/KB/solution-center/ImagingEnabledSites.aspx




Espero ter ajudado







0
|
0

Tinho
|
MVP
    14 abr 2011

Boa Tarde a todos,

Muito obrigado pela ajuda.

A minha dúvida agora pessoal é como inserir as imagens em ordem ou seja no meu código abaixo ao clicar no botão salvar ela inseri a imagem na pasta mais na página ela aparece de form dinâmica, por exemplo:


Imagens inseridas:

    img1   img2   img3   img4    img5
  
    img6   img7   img8

Ao inserir a imagem (img9 e img10) ela terá que seguir a ordem das colunas, mais não  esta, como fazer? SEGUE O CÓDIGO ABAIXO:

Código Aspx

#Código

<body>
    <form id="form1" runat="server">
    <div style="margin-left: 165px; position: relative; margin-top: 40px;">
        <asp:FileUpload ID="fileupload" runat="server" Width="273px" />
        <br />
        <br />
        <asp:Button ID="btnadd" runat="server" Text="Salvar" OnClick="btnadd_Click" />
        <br />
        <br />
        <div style="height: 10px;">
            <span id="msgErro" runat="server" style="color: Red;"></span>
        </div>
    </div>
    <center>
        <div style="margin-top: 20px;">
            <asp:DataList ID="dl" runat="server" Height="100px" RepeatColumns="5" Width="100px"
                CellPadding="10">
                <ItemTemplate>
                    <asp:CheckBox ID="chkImagens" runat="server" />
                    <asp:Image ID="img" runat="server" Width="100px" Height="100px" ImageUrl='<%# Eval("Name", "~/UploadedFiles/{0}") %>' />
                    <br />
                </ItemTemplate>
            </asp:DataList>
        </div>
    </center>
    </form>
</body>
</html> 
 

Codigo C#

#Código
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace Upload_Imagem
{
    public partial class _Default : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
          
                string upFolder = MapPath("~/UploadedFiles/");
                DirectoryInfo dir = new DirectoryInfo(upFolder);
                dl.DataSource = dir.GetFiles();
                Console.WriteLine(dl.DataSource);
                dl.DataBind();
          
        }

        protected void btnadd_Click(object sender, EventArgs e)
        {
            VerificaImagem();

            if (fileupload.HasFile)
            {

                if (CheckFileType(fileupload.FileName))
                {

                    string filepath = "~/UploadedFiles/" + fileupload.FileName;

                    fileupload.SaveAs(MapPath(filepath));

                }

            }

        }

        bool CheckFileType(string fileName)
        {

            string ext = Path.GetExtension(fileName);

            switch (ext.ToLower())
            {

                case ".gif":

                    return true;

                case ".png":

                    return true;

                case ".jpg":

                    return true;

                case ".jpeg":

                    return true;

                default:

                    return false;
            }
        }
               
        protected void VerificaImagem()
        {
            FileInfo[] fi = (FileInfo[])dl.DataSource;

            for (int i = 0; i < fi.Length; i++)
            {
                if (fi.ElementAt(i).Name == (fileupload.FileName))
                {
                    msgErro.InnerHtml = "Nome Imagem Existente!";
                }

            }
           
           
        }
    }
}

  


0
|
0

Tinho
|
MVP
    17 abr 2011

Pessoal por favor alguem tem uma solução, indicação para resolver a esse problema citado acima? 

0
|
0

Douglas Negreiros
   - 30 abr 2011

Páginas funcionam como o evento post correto? Quando você insere as imagens, gravando-as em um local fisico no servidor e um local lógico no banco, você têm um post no servidor. Correto? Então você aproveita este momento para carregá-las novamente.

0
|
0

Tinho
|
MVP
    01 mai 2011

Douglas, Qual melhor forma para inserir as imagens no banco de dados? Como inserir somento o caminho das imagens no banco e as imagens em uma pasta?

0
|
0