none
Cadastrar e Atualizar Imagem RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Já pesquisei vários sites mas quero entender melhor e tentar fazer...

    Tenho um formulário de cadastro de equipamento que terá a possibilidade do usuário adicionar mais de 1 foto, pelo que pesquisei várias pessoas recomendam armazenar fotos no próprio servidor web e não no banco de dados, estou partindo desse principio e irei armazenar fotos em uma pasta no servidor web...

    Para fazer o upload não vejo dificuldade pois temos ferramentas no mercado, a situação é para atualizar: exemplo o usuário cadastrou um equipamento e colocou 10 fotos nesse registro, depois ele terá a possibilidade de atualizar essas fotos, a pergunta é: como fazer isso?

    1) Como fazer para atualizar as imagens? Imagino que tem que ter na parte do atualizar uma opção para excluir a foto e depois realizar novamente um upload, será que existe algo no mercado pronto?

    2) Como recuperar as imagens conforme atualização? Exemplo: Diversos cadastros de equipamento são feitos e quando o usuário atualizar qualquer cadastro como fazer para o sistema buscar exatamente as imagens que foram inseridas nesse cadastro, qual o vinculo usar entre eles?

    Obs.: nesse caso prefiro não usar gridview, trabalhando com C#, ASP.NET, VS2010 e DevExpress

    terça-feira, 10 de abril de 2012 16:45

Respostas

  • A meu ver você terá a tabela de cadastro do equipamento e outra tabela equipamento_caminho_nome_imagem. Relacionadas pelo ID do equipamento 1 para N. Um id equipamento teria vários caminho imagens.

    Dai é só usar o aspupload para subir a imagem para o servidor e atualizar o caminho e nome da imagem na tabela.

    Desta maneira quando você obter um id de equipamento perá recuperar todas as imagens ligadas a ele.

    E quando or deletada uma imagem ligada ao equipamento, você eclui a imgem fisicamente da pasta e o registro na tabela que liga as imagen ao equipamento.


    Ninguém falou que seria fácil!

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 18:14
  • Boa Tarde,

    Como o amigo jothaz sugeriu, vc precisa criar uma tabela "equipamento_foto" e relacionar ela a sua tabela de "equipamento". Ao realizar o cadastro blz, o cara inputa os dados do equipamento e cadastra as diversas fotos que esse equipamento pode ter. Na atualização, oq eu faria seria listar as imagens com a opção de preview e nisso ele poderia excluir essa foto e se quiser subir mais "N" fotos para o equipamento de novo. No inicio eu já respondo sua 2ª pergunta, a forma de vc realizar o vinculo entre as fotos e o equipamento seria pela tabela.

    CREATE TABLE equipamento_foto
    (
     foto_id INT IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
     foto_equipamento_id INT NOT NULL,
     foto_name VARCHAR(100),
     foto_description VARCHAR(150) --Campo Opcional
    )

    Espero ter ajudado

    Abcs

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 19:22
  • Gulherme,

    Atualizar a imagem isso com certeza nao vai dar,vc vai ter que exluir a imagem

    se vc gravou o caminho ou o nome da imagem em uma tabela, otimo, vc pode usar o namespace System.io e utilizar o comando 

    File.Delete(Server.MapPath("teste.jpg"));   para deletar a imagem ai sim vc pode atulizar a linha do registro para uma nova informação.

    amigão, ai vai uma dica, é muito mais facil tabalhar com a imagem em banco do que em diretorio.

    da uma olhada nesta thread, http://social.msdn.microsoft.com/Forums/pt-BR/webgeralpt/thread/3612257e-af93-4fd9-99fd-12f2b1d0000f/

    nao tem novidade amigão.

    boa sorte!


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 20:21

Todas as Respostas

  • A meu ver você terá a tabela de cadastro do equipamento e outra tabela equipamento_caminho_nome_imagem. Relacionadas pelo ID do equipamento 1 para N. Um id equipamento teria vários caminho imagens.

    Dai é só usar o aspupload para subir a imagem para o servidor e atualizar o caminho e nome da imagem na tabela.

    Desta maneira quando você obter um id de equipamento perá recuperar todas as imagens ligadas a ele.

    E quando or deletada uma imagem ligada ao equipamento, você eclui a imgem fisicamente da pasta e o registro na tabela que liga as imagen ao equipamento.


    Ninguém falou que seria fácil!

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 18:14
  • Boa Tarde,

    Como o amigo jothaz sugeriu, vc precisa criar uma tabela "equipamento_foto" e relacionar ela a sua tabela de "equipamento". Ao realizar o cadastro blz, o cara inputa os dados do equipamento e cadastra as diversas fotos que esse equipamento pode ter. Na atualização, oq eu faria seria listar as imagens com a opção de preview e nisso ele poderia excluir essa foto e se quiser subir mais "N" fotos para o equipamento de novo. No inicio eu já respondo sua 2ª pergunta, a forma de vc realizar o vinculo entre as fotos e o equipamento seria pela tabela.

    CREATE TABLE equipamento_foto
    (
     foto_id INT IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
     foto_equipamento_id INT NOT NULL,
     foto_name VARCHAR(100),
     foto_description VARCHAR(150) --Campo Opcional
    )

    Espero ter ajudado

    Abcs

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 19:22
  • Gulherme,

    Atualizar a imagem isso com certeza nao vai dar,vc vai ter que exluir a imagem

    se vc gravou o caminho ou o nome da imagem em uma tabela, otimo, vc pode usar o namespace System.io e utilizar o comando 

    File.Delete(Server.MapPath("teste.jpg"));   para deletar a imagem ai sim vc pode atulizar a linha do registro para uma nova informação.

    amigão, ai vai uma dica, é muito mais facil tabalhar com a imagem em banco do que em diretorio.

    da uma olhada nesta thread, http://social.msdn.microsoft.com/Forums/pt-BR/webgeralpt/thread/3612257e-af93-4fd9-99fd-12f2b1d0000f/

    nao tem novidade amigão.

    boa sorte!


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    • Marcado como Resposta Harley Araujo quinta-feira, 12 de abril de 2012 11:06
    terça-feira, 10 de abril de 2012 20:21