Usuário com melhor resposta
[C#] Verificação existência de arquivo com FileUpload

Pergunta
-
Olá pessoas,
Não estou conseguindo fazer a verificação da existência de um arquivo com o FileUpload. Abaixo como estou tentando a implementação:
Tela.aspx
<asp:FileUpload ID="uploadXML" runat="server" Style="top: 312px; left: 555px; position: absolute; height: 20px; width: 290px" />
Tela.aspx.cs
protected void btnVerificaArquivo_Click(object sender, EventArgs e) { if (uploadXML.HasFile) { //doStuff } else { string script = "<script type=\"text/javascript\">alert('Arquivo não existe');</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), "Alerta: Arquivo não existe", script); } }
Alguém pode me ajudar? Já tentei vários códigos diferentes e nenhum funciona. Não sou capaz de perceber onde está o erro em meu código.
Obrigado
Fernando Stocco
- Movido Levi DomingosModerator segunda-feira, 8 de outubro de 2012 19:19 (De:C#)
Respostas
-
Experimenta usar jQuery
http://blueimp.github.com/jQuery-File-Upload/
http://www.uploadify.comAbraços,
André Baltieri
MTAC – Microsoft Technical Audience Contributor
Twitter: @andrebaltieri
Blog: http://andrebaltieri.net- Sugerido como Resposta André BaltieriMVP terça-feira, 9 de outubro de 2012 14:07
- Marcado como Resposta Fernando Stocco terça-feira, 9 de outubro de 2012 14:29
-
coloque enctype="multipart/form-data" na tag <form>
<form enctype="multipart/form-data">
Se não funcionar, no evento em que é disparado no botão no debug, ve se a propriedade FileName do fileupload vem preenchida.
- Editado Guilherme da Luz segunda-feira, 8 de outubro de 2012 20:18
- Marcado como Resposta Fernando Stocco terça-feira, 9 de outubro de 2012 14:24
Todas as Respostas
-
-
-
-
-
Não. Não estou usando UpdatePanel. É minha primeira aplicação de verdade com ASPX e C#, então estou usando só o FileUpload e tentando usar o hasFile no C#... Se tem mais alguma coisa aí no meio que deveria utilizar foi ignorada por não conhecer bem a linguagem.
Fernando Stocco
-
-
-
Posta o código todo do seu aspx e do cs
- Editado Guilherme da Luz segunda-feira, 8 de outubro de 2012 19:51
-
Infelizmente não tenho autorização para postar todo o código fonte. O local que eu trabalho não permite a divulgação total de nada que esteja em desenvolvimento. Como ninguém tem tempo de me ajudar, consegui liberação de uma parte dele. Aqui vai:
Página aspx:
<asp:Label ID="lbSquare" runat="server" Style="top: 180px; left: 50px; ; height: 19px; width: 45px" Text="Praça:"></asp:Label> <asp:DropDownList ID="squareOption" runat="server" name=" D3" Style="top: 178px; left: 100px; width: 170px; " AutoPostBack="true" OnSelectedIndexChanged="squareOption_SelectedIndexChanged"> <asp:ListItem></asp:ListItem> </asp:DropDownList> <asp:Label ID="sessoes" runat="server" Text="Sessões:" Style="top: 220px; left: 50px; "></asp:Label> <asp:ListBox ID="boxSessoes" runat="server" Width="300px" Height="150px" Style="top: 240px; left: 50px; " ></asp:ListBox> <asp:Label ID="lbSessoes" runat="server" Style="top: 180px; left: 555px; ; height: 19px; width: 93px" Text="Nova Sessão:"></asp:Label> <input type="text" id="txtNovaSessao" runat="server" style="top: 178px; left: 648px; ; height: 15px; width: 150px" /> <asp:Label ID="lbDataInicio" runat="server" Style="top: 220px; left: 555px; ; height: 15px; width: 83px" Text="Data Início:" ></asp:Label> <input id="startDate" runat="server" class="datetype" style="top: 242px; left: 555px; ; height: 15px; width: 83px" /> <asp:Label ID="lbDataFim" runat="server" Style="top: 220px; left: 690px; ; height: 15px; width: 83px" Text="Data Fim:"></asp:Label> <input id="finalDate" runat="server" class="datetype" style="top: 242px; left: 690px; ; height: 15px; width: 83px" /> <!-- FileUpLoad --> <asp:Label ID="lbUploadXML" runat="server" Style="top: 290px; left: 555px; ; height: 15px; width: 180px" Text = "Arquivo de Públicos:"></asp:Label> <asp:FileUpload ID="uploadXML" runat="server" Style="top: 312px; left: 555px; ; height: 20px; width: 290px" /> <!-- Buttons --> <asp:Button ID="btSelecionar" runat="server" Style="top: 395px; left: 60px; " Text="Selecionar" Width="100px" Height="23px" OnClick="btnSelecionar_Click" /> <asp:Button ID="btExcluir" runat="server" Style="top: 395px; left: 165px; " Text="Excluir" Width="100px" Height="23px" OnClick="btnExcluir_Click" /> <asp:Button ID="btSalvar" runat="server" Style="top: 177px; left: 808px; " Text="Salvar" Width="100px" Height="23px" OnClick="btnSalvar_Click" OnClientClick="return validaCamposNovaSessao()" /> </div> </form>
C#
protected void btnSalvar_Click(object sender, EventArgs e) { int regionId = util.Globals.square_id[squareOption.SelectedIndex]; String sessaoNome = txtNovaSessao.Value; string dataInicio = startDate.Value; string dataFim = finalDate.Value; if (uploadXML.HasFile) { database.Util.addSessao(regionId, sessaoNome, dataInicio, dataFim); clearFields(); clearListBox(); database.Util.loadList(regionId, boxSessoes); } else { string script = "<script type=\"text/javascript\">alert('Arquivo inexistente.');</script>"; ClientScript.RegisterClientScriptBlock(this.GetType(), "Alerta: Arquivo inexistente.", script); } }
Fernando Stocco
-
coloque enctype="multipart/form-data" na tag <form>
<form enctype="multipart/form-data">
Se não funcionar, no evento em que é disparado no botão no debug, ve se a propriedade FileName do fileupload vem preenchida.
- Editado Guilherme da Luz segunda-feira, 8 de outubro de 2012 20:18
- Marcado como Resposta Fernando Stocco terça-feira, 9 de outubro de 2012 14:24
-
Fiz o teste aqui e funcionou de primeira cara...
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { //Testando.... FileUpload1.PostedFile.ToString(); } }
Crie uma página em branco e cole isso lá... veja se funciona.- Editado MarceloSchneider segunda-feira, 8 de outubro de 2012 20:27
-
-
Esse botão selecionar está vinculado com outras ações nessa página. Eu não posso comentar exatamente o que está fazendo por funções contratuais da empresa... mas ele não tem nenhuma relação direta com o arquivo que preciso verificar.
Fernando Stocco
-
coloque enctype="multipart/form-data" na tag <form>
<form enctype="multipart/form-data">
Se não funcionar, no evento em que é disparado no botão no debug, ve se a propriedade FileName do fileupload vem preenchida.
Não funcionou. Entretanto, quando faço o Debug a função if está me retornando true. O interessante é que, mesmo assim, ele desvia como se fosse negativo.
Vou continuar testando amanhã. Vou para casa agora. Gostaria de agradecer a todos pela ajuda até o momento! :)
Fernando Stocco
-
-
-
Experimenta usar jQuery
http://blueimp.github.com/jQuery-File-Upload/
http://www.uploadify.comAbraços,
André Baltieri
MTAC – Microsoft Technical Audience Contributor
Twitter: @andrebaltieri
Blog: http://andrebaltieri.net- Sugerido como Resposta André BaltieriMVP terça-feira, 9 de outubro de 2012 14:07
- Marcado como Resposta Fernando Stocco terça-feira, 9 de outubro de 2012 14:29
-
Jquery é sempre melhor mesmo!
- Editado MarceloSchneider terça-feira, 9 de outubro de 2012 00:01
-
Teste o meu código... vai funcionar, depois replique no seu web form.
Eu testei. Não funcionou, mas simplesmente porque eu descobri que, por algum motivo maluco, o meu PC está "louco". Testei em outro computador e tudo o que me foi indicado aqui funcionou corretamente. Mas não na minha máquina. Vou formatar o PC e reinstalar as coisas e ver se volta ao normal.
Muito obrigado pela ajuda de todos!! :)
Fernando Stocco
-
Descobri o problema. É ambiente. Por algum motivo o software meu está "desregulado". Vou formatar o pc e reinstalar tudo. Já tentei desinstalar o Microsoft Visual e depois reinstalá-lo, mas não funcionou. Testei em outra máquina e rodou tudo certinho.
Muito obrigado pela ajuda. Todas elas foram úteis e deu pra aprender coisas que eu não sabia.
Abraços.
Fernando Stocco