Usuário com melhor resposta
Imagem no GridView

Pergunta
-
Pessoal,
Mais um problema, estou com o gridview mais não consigo fazer a imagem aparecer e está apresentando esse erro.
Erro de Servidor no Aplicativo '/'.
imagens/check.jpg
Descrição: Ocorreu uma exceção sem tratamento durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.IO.FileNotFoundException: imagens/check.jpg
Erro de Origem:Exceção sem tratamento foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo.
Rastreamento de Pilha:[FileNotFoundException: imagens/check.jpg] System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement) +770042 Proprietaria.Cadastro_ResultCNAE.dgv_RowDataBound(Object sender, GridViewRowEventArgs e) in C:\Sistemas\Proprietaria\Proprietaria\Cadastro_ResultCNAE.aspx.cs:114 System.Web.UI.WebControls.GridView.CreateRow(Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState, Boolean dataBind, Object dataItem, DataControlField[] fields, TableRowCollection rows, PagedDataSource pagedDataSource) +314 System.Web.UI.WebControls.GridView.CreateChildControls(IEnumerable dataSource, Boolean dataBinding) +4780 System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) +95 System.Web.UI.WebControls.GridView.PerformDataBinding(IEnumerable data) +19 System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +222 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +313 Proprietaria.Cadastro_ResultCNAE.Page_Load(Object sender, EventArgs e) in C:\Sistemas\Proprietaria\Proprietaria\Cadastro_ResultCNAE.aspx.cs:68 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
Informações sobre a Versão: Microsoft .NET Framework Versão:4.0.30319; Versão do ASP.NET:4.0.30319.34274Segue meu código.
protected void dgv_RowDataBound(object sender, GridViewRowEventArgs e)
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
System.Drawing.Image img;
System.Drawing.Image img1;
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image ibtn = new Image();
ibtn.ID = "imgPicture";
e.Row.Cells[6].Controls.Add(ibtn);
string Amostra_fixa = e.Row.Cells[6].Text;
string Ativo = e.Row.Cells[7].Text;
Image imgPicture = (Image)e.Row.FindControl("imgPicture");
if ((imgPicture != null))
{
img = null;
if (Amostra_fixa == "0")
{
//Transforma o array de byte em base64 e atribui o controle Image à coluna
img = System.Drawing.Image.FromFile(@"imagens/cross.png");
}
else
{
//Transforma o array de byte em base64 e atribui o controle Image à coluna
img = System.Drawing.Image.FromFile(@"imagens/check.jpg");
}
byte[] imgArray = imageToByteArray(img);
string base64String = Convert.ToBase64String(imgArray, 0, imgArray.Length);
imgPicture.ID = "imgPicture";
imgPicture.ImageUrl = "data:image/png;base64," + base64String;
}
Image ibtn1 = new Image();
ibtn1.ID = "imgPicture1";
e.Row.Cells[7].Controls.Add(ibtn1);
Image imgPicture1 = (Image)e.Row.FindControl("imgPicture1");
if ((imgPicture != null))
{
img = null;
if (Amostra_fixa == "0")
{
//Transforma o array de byte em base64 e atribui o controle Image à coluna
img1 = System.Drawing.Image.FromFile(@"imagens/cross.png");
}
else
{
//Transforma o array de byte em base64 e atribui o controle Image à coluna
img1 = System.Drawing.Image.FromFile(@"imagens/check.jpg");
}
byte[] imgArray1 = imageToByteArray(img1);
string base64String1 = Convert.ToBase64String(imgArray1, 0, imgArray1.Length);
imgPicture1.ID = "imgPicture1";
imgPicture1.ImageUrl = "data:image/png;base64," + base64String1;
}
}
}
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
Respostas
-
Acrescente um Server.MapPath para buscar o caminho completo para os arquivos. Exemplo:
System.Drawing.Image.FromFile(Server.MapPath("imagens\\cross.png"));
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Sugerido como Resposta Juliano Nunes Silva Oliveira segunda-feira, 10 de abril de 2017 19:18
- Marcado como Resposta Robson William SilvaModerator terça-feira, 11 de abril de 2017 13:40
Todas as Respostas
-
Acrescente um Server.MapPath para buscar o caminho completo para os arquivos. Exemplo:
System.Drawing.Image.FromFile(Server.MapPath("imagens\\cross.png"));
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Sugerido como Resposta Juliano Nunes Silva Oliveira segunda-feira, 10 de abril de 2017 19:18
- Marcado como Resposta Robson William SilvaModerator terça-feira, 11 de abril de 2017 13:40
-