Usuário com melhor resposta
Como salvar uma foto no meu FileUpload usando C# Linq ?

Pergunta
-
Bom dia Galera
Como eu salvo a foto do meu FileUpload1 usando o meu código c# linq ?
private void onInsert()
{
mdc = new ModelDataContext();
CADASTROTIMES CADASTROTIMES = new CADASTROTIMES();//INSERT CAMPOS TABELA CADASTROTIMES
//CONTATOS.CODIGO = int.Parse(tbCodigo.Text);
CADASTROTIMES.TIME = TbTime.Text.Trim().ToUpper();
CADASTROTIMES.DIRETOR = TbDiretor.Text.Trim().ToUpper();
CADASTROTIMES.CAMPO = TbCampo.Text.Trim().ToUpper();
CADASTROTIMES.REGIAO = DropDownRegiao.Text.Trim().ToUpper();
CADASTROTIMES.TELEFONE = TbTelefone.Text.Trim().ToUpper();
CADASTROTIMES.FOTO = ????????????????????????????????????
mdc.CADASTROTIMES.InsertOnSubmit(CADASTROTIMES);
mdc.SubmitChanges();
}Meu FileUpload
<asp:Label Text="Logo" ID="label9" runat="server"></asp:Label>
<asp:Image ID="imgDemo" runat="server" Height="80px" Width="80px" />
<asp:FileUpload ID="FileUpload1" runat="server" Width="230px" />
<asp:Button ID="btnUpload" runat="server" Text="Exibir" CssClass="button5"
OnClick="btnUpload_Click" />protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null)
{
string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
//Save files to images folder
FileUpload1.SaveAs(Server.MapPath("Images/" + FileName));
this.imgDemo.ImageUrl = "Images/" + FileName;
}
}Alguém pode me ajudar por favor ?
Fico no aguardo.
Obrigado.
Respostas
-
Para isso voce tem que converter a imagem em um byte array e depois assocai ao seu campo CADASTROTIMES.FOTO
Veja esse tutorial
O que voce tem que fazer é mais ou menos isso (voce vai ter que adaptar ao seu codigo)
protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0) { string fileName = FileUpload1.FileName; byte[] fileByte = FileUpload1.FileBytes; //converte a imagem em bytearray Binary binaryObj = new Binary(fileByte);//cria um objeto do tipo binary baseado no bytearray DataClasses1DataContext context = new DataClasses1DataContext(); context.ImageTables.InsertOnSubmit( new ImageTable { Id = “xyz”, Name = fileName, FileSource = binaryObj }); context.SubmitChanges(); } }
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 13:31
- Não Marcado como Resposta Ricardo-ti2016 quinta-feira, 12 de maio de 2016 14:20
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 18:44
-
Como eu disse, o codigo que eu postei nao é para o seu banco. Voce vai ter que adapta-lo.
Aglo mais ou menos assim:
private void onInsert() { mdc = new ModelDataContext(); CADASTROTIMES CADASTROTIMES = new CADASTROTIMES(); //INSERT CAMPOS TABELA CADASTROTIMES //CONTATOS.CODIGO = int.Parse(tbCodigo.Text); CADASTROTIMES.TIME = TbTime.Text.Trim().ToUpper(); CADASTROTIMES.DIRETOR = TbDiretor.Text.Trim().ToUpper(); CADASTROTIMES.CAMPO = TbCampo.Text.Trim().ToUpper(); CADASTROTIMES.REGIAO = DropDownRegiao.Text.Trim().ToUpper(); CADASTROTIMES.TELEFONE = TbTelefone.Text.Trim().ToUpper(); byte[] fileByte = FileUpload1.FileBytes; //converte a imagem em bytearray Binary binaryObj = new Binary(fileByte);//cria um objeto do tipo binary baseado no bytearray CADASTROTIMES.FOTO = binaryObj; mdc.CADASTROTIMES.InsertOnSubmit(CADASTROTIMES); mdc.SubmitChanges(); }
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 18:44
Todas as Respostas
-
Para isso voce tem que converter a imagem em um byte array e depois assocai ao seu campo CADASTROTIMES.FOTO
Veja esse tutorial
O que voce tem que fazer é mais ou menos isso (voce vai ter que adaptar ao seu codigo)
protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0) { string fileName = FileUpload1.FileName; byte[] fileByte = FileUpload1.FileBytes; //converte a imagem em bytearray Binary binaryObj = new Binary(fileByte);//cria um objeto do tipo binary baseado no bytearray DataClasses1DataContext context = new DataClasses1DataContext(); context.ImageTables.InsertOnSubmit( new ImageTable { Id = “xyz”, Name = fileName, FileSource = binaryObj }); context.SubmitChanges(); } }
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 13:31
- Não Marcado como Resposta Ricardo-ti2016 quinta-feira, 12 de maio de 2016 14:20
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 18:44
-
Bom dia Willian
Obrigado pela resposta
Porem eu não entendi.
Eu criei no meu bando de dados um campo com o
nome foto do tipo image
Esse campo é do proprio sql server 2014
Eu não entendi porque vc usou os 3 campos
Id = “xyz”, Name = fileName, FileSource = binaryObj
Fico no aguardo.
Obrigado.
-
Como eu disse, o codigo que eu postei nao é para o seu banco. Voce vai ter que adapta-lo.
Aglo mais ou menos assim:
private void onInsert() { mdc = new ModelDataContext(); CADASTROTIMES CADASTROTIMES = new CADASTROTIMES(); //INSERT CAMPOS TABELA CADASTROTIMES //CONTATOS.CODIGO = int.Parse(tbCodigo.Text); CADASTROTIMES.TIME = TbTime.Text.Trim().ToUpper(); CADASTROTIMES.DIRETOR = TbDiretor.Text.Trim().ToUpper(); CADASTROTIMES.CAMPO = TbCampo.Text.Trim().ToUpper(); CADASTROTIMES.REGIAO = DropDownRegiao.Text.Trim().ToUpper(); CADASTROTIMES.TELEFONE = TbTelefone.Text.Trim().ToUpper(); byte[] fileByte = FileUpload1.FileBytes; //converte a imagem em bytearray Binary binaryObj = new Binary(fileByte);//cria um objeto do tipo binary baseado no bytearray CADASTROTIMES.FOTO = binaryObj; mdc.CADASTROTIMES.InsertOnSubmit(CADASTROTIMES); mdc.SubmitChanges(); }
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Marcos SJ quinta-feira, 12 de maio de 2016 18:44
-