Gdias 0 Denunciar post Postado Agosto 27, 2008 Salve Mestres, Estou iniciando em ASP.NET com C# e é claro que tô tomando uma surra daquelas. Então, cansado de apanhar, vou jogar a toalha... (rs)... a parada é o seguinte: Tenho um fomulário (EDIT) com foto, nome, sexo, e-mail e blablabla, onde alguns campos são obrigatórios. Nestes eu coloquei RequiredFieldValidator que funciona que é uma beleza. Porém, o primeiro campo é um FileUpload com um botão "Enviar Foto". Escolho a imagem na minha máquina e quando clico em "Enviar Foto", os RequiredFieldValidator são ativados e apresentam as mensagens de campos obrigatórios, mas isso só deveria acontecer quando eu clicasse em "Salvar Dados Pessoais". São classes distintas mas pelo jeito "Enviar Foto" tá interferindo de alguma maneira e nem consigo ver se o FileUpload está ou não funcionando direito! O que posso fazer pra solucionar essa pendenga? Segue o código do Salvar Dados Pessoais e Enviar Foto protected void SalvarDadosPessoais(object sender, EventArgs e) { string connstring = (new Functions()).GeraString(); SqlConnection conn = new SqlConnection(connstring); conn.Open(); SqlCommand comm = new SqlCommand("UPDATE TB_USER set nm_user='" + nm_user.Text + "', ql_foto='" + FileUpload1.FileName + "', dt_nascimento=dbo.STRINGDMYTODATE(REPLACE('" + dt_nascimento.Text + "', '/','')), ql_sexo='" + ql_sexo.SelectedValue + "', lc_cidade='" + lc_cidade.Text + "', lc_uf='" + lc_uf.SelectedValue + "', ql_pwd='" + ql_pwd.Text + "', ql_email='" + ql_email.Text + "', ds_caracteristica='" + ds_caracteristica.Text + "', fk_mercado='" + fk_mercado.SelectedValue + "', ql_cargo='" + ql_cargo.Text + "', ql_status='2' where PK_USER=" + codigoUsuario.ToString(), conn); comm.ExecuteNonQuery(); CarregaDados(); } protected void EnviaFoto(object sender, EventArgs e) { FileUpload1.SaveAs("C:\\Documents and Settings\\Meus documentos\\Visual Studio 2008\\WebSites\\ABA\\Fotos" + FileUpload1.FileName); } Desde já agradeço a força! Abraços, Gustavo Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 27, 2008 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications Você deve definir a propriedade ValidationGroup tanto do botão que você quer validar como dos seus validadores, o mesmo grupo que você preencher no seu validador você deve colocar no seu botão, ae só vai validar o botão que você desejar. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 27, 2008 Salve Bruno, Creio que você não entendeu meu problema. eu tenho em um formulário os campos: • Campo FileUpload e botão "Enviar Foto" • Campo Nome • Campo Sexo • Campo E-Mail • Campo Cidade... etc Botão "Salvar Dados" Quando eu clico no "buscar" do FileUpload ele me possibilita buscar e retornar com o endereço da imagem, ai eu clico em "Enviar Foto" para remetê-la ao servidor, mas nesta hora ela ativa os validadores dos demais campos, e isso só deveria acontecer quando eu clicasse no botão "Salvar Dados"... sacou!? Esse é o meu problema, a ativação das críticas de campos em branco antes da hora. Preciso submeter primeiro a imagem, e depois preencher os campos do formulário. Desde já agradeço sua atenção! Abração! Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 27, 2008 Opa´! Descobri a bagaça! Seguinte, nas propriedades do botão "Enviar Foto" eu declarei CausesValidation="False" e UseSubmitBehavior="False" E a fotinho foi para o servidor... beleza... mas agora veio a dúvida, com o campo do FileUpload em branco, como eu pego o nome da imagem para salvar no Banco de Dados junto com os demais dados do formulário? Aos trancos e barrancos nóis vai! (rs) Valeu a força! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 27, 2008 Desculpa, mas não entendi o por que o campo FileUpload estaria em branco. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 28, 2008 Boas Bruno, Seguinte, eu tenho o campo do FileUpload e depois um botão "Enviar Foto". Eu seleciono a imagem clicando no botão do FileUpload e depois que carrego o campo com o endereço da foto, clico em "Enviar Foto" e neste momento ela é enviada para o servidor, só que ai eu perco o nome da imagem e preciso primeiro que ela seja renomeada (antes mesmo de enviar para o servidor) e que depois eu continue em poder deste nome alterado para grava-lo na base de dados! Sacou!? É isso ai! Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 28, 2008 De uma olhada neste artigo, ele é bem simples: http://www.codigofonte.com.br/codigo/aspne...pload-do-aspnet Repare como é salvo o caminho e o nome do arquivo, você pode mudar traquilamente e depois armazenar o valor em uma Session para usar na operação que irá gravar no seu banco posteriormente. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 28, 2008 Bruno, Vou ser sincero contigo, começei a estudar C# e ASP.NET semana passada. O artigo que você me sugeriu não me serviu de nada, a nã ser para levantar mais dúvidas. Ainda não consigo renomear o arquivo e nem manter este nome para depois salvá-lo na Base de Dados. Tem como rolar uma explicação para Novato? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 28, 2008 Este código: protected void EnviaFoto(object sender, EventArgs e){ Session["NomeArquivo"] = "Quintelab"; FileUpload1.SaveAs("C:\\Documents and Settings\\Meus documentos\\Visual Studio 2008\\WebSites\\ABA\\Fotos" + Session["NomeArquivo"]); } Eu usei a session pra alterar o nome do arquivo, e esta mesma session você pode usar para dar o Update no seu banco de dados. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 29, 2008 Beleza Bruno? Véio, já te agradeço a paciência até aqui... já estamos quase lá. Eu fiz assim: protected void EnviaFoto(object sender, EventArgs e) { Session["NomeDaFoto"] = Request.QueryString["foto_user.FileName"] + Session["codUsuario"].ToString(); foto_user.SaveAs("C:\\Documents and Settings\\Marcos Vinício\\Meus documentos\\Visual Studio 2008\\WebSites\\ABA\\Fotos\\" + Session["NomeDaFoto"]); } Estou tentando adicionar ao nome da foto o ID do usuário que eu já tenho quando o cara loga no sistema, mas quando salvou, o arquivo foi gravado apenas com o ID do User, no caso "13", sem extenção, sem nada. Onde está o erro? Eu não concatenei corretamente? O arquivo se chamava "MinhaFoto.jpg" e eu queria que ficasse "MinhaFoto13.jpg" Deu pau! Valeu mais uma vez! Gustavo Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 29, 2008 Substitua o Request.QueryString["foto_user.FileName"] por FileUpload1.FileName. Acredito que deva ficar dessa forma: protected void EnviaFoto(object sender, EventArgs e){ Session["NomeDaFoto"] = FileUpload1.FileName + Session["codUsuario"].ToString(); foto_user.SaveAs("C:\\Documents and Settings\\Marcos Vinício\\Meus documentos\\Visual Studio 2008\\WebSites\\ABA\\Fotos\\" + Session["NomeDaFoto"]); } Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Agosto 29, 2008 Beleza, Tá quase lá, pois agora ficou "MinhaFoto.jpg13" - mas deveria ficar "MinhaFoto13.jpg" valeu Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 29, 2008 Ta ae: protected void EnviaFoto(object sender, EventArgs e){ string strExtensao = FileUpload1.FileName.Substring(FileUpload1.FileName.Length - 3); string strNome = FileUpload1.FileName.Replace("." + strExtensao, string.Empty); Session["NomeDaFoto"] = strNome + Session["codUsuario"].ToString() + "." + strExtensao; foto_user.SaveAs("C:\\Documents and Settings\\Marcos Vinício\\Meus documentos\\Visual Studio 2008\\WebSites\\ABA\\Fotos\\" + Session["NomeDaFoto"]); } Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gdias 0 Denunciar post Postado Setembro 1, 2008 Beleza meu querido! Valeu a força! abraços! Compartilhar este post Link para o post Compartilhar em outros sites