FileUpload.HasFile retornando sempre false

180 views
Skip to first unread message

Rubem Almeida

unread,
Jul 14, 2011, 1:30:53 PM7/14/11
to DotNet Brasil, vic...@vgainfo.com.br
Boa tarde a todos!

Estou tentando fazer uma função para realizar upload de arquivos
através do seguinte código:

Code:
protected void UploadButton_Click(object sender, EventArgs e)
{
String savePath = @"c:\temp\uploads\";
if (FileUpload1.HasFile)
{
String fileName = FileUpload1.FileName;
savePath += fileName;
FileUpload1.SaveAs(savePath);
UploadStatusLabel.Text = "Your file was saved as " +
fileName;
}
else
{
UploadStatusLabel.Text = "You did not specify a file
to upload.";
}
}

Aspx:
<div>
<h4>Select a file to upload:</h4>
<asp:FileUpload ID="FileUpload1"
runat="server"></asp:FileUpload>
<br />
<asp:Button ID="UploadButton" Text="Upload
file" OnClick="UploadButton_Click" runat="server">
</asp:Button>
<hr />
<asp:Label ID="UploadStatusLabel"
runat="server">
</asp:Label>
</div>

Porém o HasFile está dando sempre false.
Alguém pode explicar o que está acontecendo para que eu consiga
resolver !?

RENE BIZELLI :: AGENCIA WEB

unread,
Jul 14, 2011, 1:41:43 PM7/14/11
to dotn...@googlegroups.com
Opa..
Deve ta dentro de um updatepanel, não?

-----Mensagem original-----
De: dotn...@googlegroups.com [mailto:dotn...@googlegroups.com] Em nome
de Rubem Almeida
Enviada em: quinta-feira, 14 de julho de 2011 14:31
Para: DotNet Brasil
Cc: vic...@vgainfo.com.br
Assunto: [.Net - BR] FileUpload.HasFile retornando sempre false

Boa tarde a todos!

--
==============================
Comunidade de desenvolvedores Dot Net no Brasil

WebSite: www.dotnetbr.com

E-mail do Grupo: dotn...@googlegroups.com
==============================

Saulo Carvalho

unread,
Jul 14, 2011, 1:53:02 PM7/14/11
to dotn...@googlegroups.com
Cara, vem false pq vc não carregou nada.
 
Faz um teste, coloca o "String fileName = FileUpload1.FileName;" fora do if veja se ele está trazendo o nome do arquivo.

2011/7/14 Rubem Almeida <rub...@gmail.com>
--
==============================
Comunidade de desenvolvedores Dot Net no Brasil

WebSite: www.dotnetbr.com

E-mail do Grupo: dotn...@googlegroups.com
==============================



--

Saulo Carvalho
Blog: http://saulocarvalho.net
Twitter: http://twitter.com/personalsaulo
Formspring: http://www.formspring.me/saulocarv
"Sempre faço o que não consigo fazer para aprender o que não sei." (Pablo Picasso)


Ricardo Borges

unread,
Jul 14, 2011, 2:02:57 PM7/14/11
to dotn...@googlegroups.com
Qual o enctype do seu form?
Ricardo

Husseyn Hussa

unread,
Jul 14, 2011, 2:51:43 PM7/14/11
to dotn...@googlegroups.com
http://www.uploadify.com/

é o melhor esquema....

barra de progresso, callback, um monte de coisa...

abs

Rubem Almeida

unread,
Jul 14, 2011, 2:52:57 PM7/14/11
to DotNet Brasil
Opá desculpa, não sei o que é enctype, mas pesquisando na net
encontrei uma explicação para este problema:

File upload control will not work inside updatepanel. So, if you have
added it inside updatepanel, you have to place it outside updatepanel
or trigger full post back.
http://forums.asp.net/t/1542182.aspx/1

ou seja, o upload não adiciona sozinho, coloquei então no UpdatePanel
e asp:PostBackTrigger o button. O código aspx ficou assim:

<div>
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
<Triggers>
<asp:PostBackTrigger
ControlID="btnUpload" />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID="fileUpdate"
runat="server" /><br />
<asp:Button ID="btnUpload"
runat="server" Text="Inserir"
OnClick="Button1_Click" /><br />
<asp:Label ID="lblImagemContato"
runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>

Ficou bonito!! Gostei.

Obrigado pela atenção.

Rubem Almeida

On 14 jul, 15:02, Ricardo Borges <ricardobor...@gmail.com> wrote:
> Qual o enctype do seu form?
>
> Em 14 de julho de 2011 14:53, Saulo Carvalho <personal.sa...@gmail.com>escreveu:
>
>
>
>
>
>
>
>
>
> > Cara, vem false pq vc não carregou nada.
>
> > Faz um teste, coloca o "String fileName = FileUpload1.FileName;" fora do if
> > veja se ele está trazendo o nome do arquivo.
>
> > 2011/7/14 Rubem Almeida <rube...@gmail.com>
> > Blog:http://saulocarvalho.net<http://debuga.wordpress.com/>

Saulo Carvalho

unread,
Jul 14, 2011, 3:07:10 PM7/14/11
to dotn...@googlegroups.com
Deve ser por isso q ele setava false, se ele não estava enxergando... é false.
O problema é que o if te deixou de vendido, pois não sabia exatamante o pq estava false.
Existe uma outra maneira de se fazer isso by server-side sem o if ?
 
Entrando no mérito da questão, o if é a melhor saída nesse caso ?

RENE BIZELLI :: AGENCIA WEB

unread,
Jul 14, 2011, 4:47:25 PM7/14/11
to dotn...@googlegroups.com
Bacana mesmo!!

-----Mensagem original-----
De: dotn...@googlegroups.com [mailto:dotn...@googlegroups.com] Em nome

de Husseyn Hussa
Enviada em: quinta-feira, 14 de julho de 2011 15:52
Para: dotn...@googlegroups.com
Assunto: Re: [.Net - BR] FileUpload.HasFile retornando sempre false

Reply all
Reply to author
Forward
0 new messages