Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cintia_Ribeiro

[Resolvido] GridView com img

Recommended Posts

É simples, ao fazer o upload a da imagem para o servidor. Você sabe onde ela foi salva, da na base você aguarda so o nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, mas ainda não funcionou...To me sentindo uma idiota :(

 

Talvez o erro possa estar na forma como estou salvando a imagem...vou colocar o codigo


if (FileUpload1.HasFile) {

           if (FileUpload1.PostedFile.ContentLength < 1048576) {
               Boolean fileok = false;
               if (FileUpload1.HasFile) {

                   String fileExtensao = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                   String[] extensao = { ".gif", ".png", ".jpeg", ".jpg"};

                   for (int i = 0; i < extensao.Length; i++) {
                       if (fileExtensao == extensao[i]) {
                           fileok = true;
                       }
                   }
               }
               if (fileok) {


                   FileUpload1.SaveAs(@"J:/img" + FileUpload1.FileName);




               }
           }
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

O seu savar esta certinho, mas na hora de salvar o nome na base, salve somente FileUpload1.FileName.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou mais que perdida...deixe-me explicar todo o meu código.

até a parte

FileUpload1.SaveAs(FileUpload1.FileName);

foi um exemplo que encontrei na net, mas ele não faz nenhuma conexão com banco. Daí

fiz (burramente)

String caminhoImg;
       caminhoImg = @"J:/img/" + FileUpload1.FileName;
       Response.Write(caminhoImg);

     imagem img = new imagem();
       img.inserir(caminhoImg);

essa outra parte do código chama um método de uma classe

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Web.Configuration;

/// <summary>
/// Summary description for imagem
/// </summary>
/// 
namespace upload
{
   public class imagem
   {
       private String _imagem;
       public static String _conexao;

       public String img
       {
           get
           {
               return _imagem;
           }
           set
           {
               _imagem = value;
           }

       }

       public imagem(SqlDataReader reader)
       {

           _imagem = (String)reader["imagen"];

       }
       public imagem()
       {
           _conexao = WebConfigurationManager.ConnectionStrings["conexao"].ConnectionString;
       }

       //Pesquisa, retorna todos as imagens

       public List<imagem> Imagem()
       {

           //conexão e seleção
           SqlConnection con = new SqlConnection(_conexao);
           SqlCommand cmd = new SqlCommand("Select * from imagem", con);
           cmd.CommandType = CommandType.Text;

           //
           List<imagem> imagem = new List<imagem>();//crio um objeo do tipo lista de imagens list<imagem>
           //

           using (con)
           {

               con.Open();

               SqlDataReader reader = cmd.ExecuteReader();

               while (reader.Read())
               {

                   imagem.Add(new imagem(reader));
               }
               con.Close();
               return imagem;
           }
       }

       public void inserir(String img)
       {
           String sql = "insert into imagem(imagen) values ('" + img + "')";

           SqlConnection con = new SqlConnection(_conexao);
           SqlCommand cmd = new SqlCommand(sql, con);
           cmd.CommandType = CommandType.Text;

           using (con)
           {
               con.Open();
               cmd.ExecuteNonQuery();

           }
           con.Close();


       }
   }

}

 

acho q agora vai ficar mais fácil de ver onde estou e qual a caquinha que estou fazendo :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para funcionar muda o seguinte, dentro de sua aplicação web, adicionar uma pasta chamada img.

 

Na pagina que faz o upload adiciona a referencia a using System.IO;

E muda o metodo de salvar de: FileUpload1.SaveAs(@"J:/img" + FileUpload1.FileName); para FileUpload1.SaveAs(Server.MapPath("/img/" + FileUpload1.FileName));

 

Ai mude de caminhoImg = @"J:/img/" + FileUpload1.FileName; para caminhoImg = FileUpload1.FileName; e execute seu insert normalmente.

Depois no grid faça assim: <%# Eval("img", "/img/{0}") %>

E pronto 100%;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera para:

FileUpload1.PostedFile.SaveAs(Server.MapPath("~/img") + "\\" + FileUpload1.FileName);

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ufa...enfim tudo funcionando...a única coisa q tive que fazer foi colocar o ~ no grid tbm

<asp:Image ID="qq" ImageUrl='<%# Eval("img", "~/img/{0}") %>' runat ="server" />

 

obrigada pela paciencia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.