Baixar arquivo de Site Direto no Csharp com windowsforms

17/02/2014

0

Bom dia a todos.

Estou com dificuldade em baixar arquivo direto no windowsforms do Csharp
segue o codigo

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net;

namespace AlexSystemsBackup.Frms
{
    public partial class FrmDownloadsFile : Form
    {

        string  sourcePath = Environment.CurrentDirectory + "\\",
                StrSiteDonloads = "http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe", 
                StrArquivoSalvar = "pscp.exe";

        public FrmDownloadsFile()
        {
            InitializeComponent();
        }

        private void FrmDownloadsFile_Load(object sender, EventArgs e)
        {
            try
            {
                string Strarquivobaixado = sourcePath + StrArquivoSalvar;
                MessageBox.Show("baixando arquivo " + StrSiteDonloads + " -> " + Strarquivobaixado);

                WebClient webClient = new WebClient();
                webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completo);
                webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressoFeito);
                webClient.DownloadFileAsync(new Uri(StrSiteDonloads), Strarquivobaixado);
            }
            catch (Exception error)
            {
                MessageBox.Show("Error ao baixar arquivo -> " + error);
            }
        }
        private void ProgressoFeito(object sender, DownloadProgressChangedEventArgs e)
        {
            progressBar1.Value = e.ProgressPercentage;
        }

        private void Completo(object sender, AsyncCompletedEventArgs e)
        {
            MessageBox.Show("Download efetuado!");
        }

    }
}


segue a mensagem do que vai fazer.

[img:descricao=Mensagem que vai executar o arquivo.]http://arquivo.devmedia.com.br/forum/imagem/320947-20140217-094316.png[/img]

mensagem de erro rentornado pelo tray
[img:descricao=mensagem retornado pelo try]http://arquivo.devmedia.com.br/forum/imagem/320947-20140217-094400.png[/img]

se alguem poder mim ajudar. nao estou conseguindo verificar onde é o erro.

obrigado.
Alexssandro Lima

Alexssandro Lima

Responder

Posts

19/02/2014

Joel Rodrigues

No catch, comece trocando o conteúdo da mensagem para error.Message, para que a mensagem fique mais clara:
catch (Exception error)
{
                MessageBox.Show("Error ao baixar arquivo -> " + error.Message);
}
Responder

19/02/2014

Alexssandro Lima

No catch, comece trocando o conteúdo da mensagem para error.Message, para que a mensagem fique mais clara:
catch (Exception error)
{
                MessageBox.Show("Error ao baixar arquivo -> " + error.Message);
}




ok. testado, mensagem que apareceu, "Error ao baixar arquivo -> o sistema de configuração falhou ao inicializar "

pesquisei o codigo e nao encontrei onde esta esta configuração de inicialização. se você poder mim ajudar.
Responder

19/02/2014

Joel Rodrigues

Coloque um breakpoint na primeira linha dentro do trye verifique em qual linha ocorre o erro.
Responder

19/02/2014

Murilo Teixeira

Tente dar uma olhada no seu App.Config.

Procure se tem uma seção chamada configStrings, ela pode estar causando esse erro.

Se puder postar o conteúdo do arquivo, somente lembre-se de remover qualquer string de conexão de banco ou senha.

Abraços,
Murilo
Responder

20/02/2014

Alexssandro Lima

Tente dar uma olhada no seu App.Config.

Procure se tem uma seção chamada configStrings, ela pode estar causando esse erro.

Se puder postar o conteúdo do arquivo, somente lembre-se de remover qualquer string de conexão de banco ou senha.

Abraços,
Murilo


ola boa noite. meu app.config esta criado mais nao estou usando ainda. segue abaixo.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configStrings>
    <add name="HomePasta"
      configStrings="syspaf" />
    <add name="HomedriverPenA"
      configStrings="F" />
    <add name="HomedriverPenB"
      configStrings="D" />
  </configStrings>
</configuration>


pode ser que ajude.
Responder

20/02/2014

Alexssandro Lima

Coloque um breakpoint na primeira linha dentro do trye verifique em qual linha ocorre o erro.


ola boa noite joel ,

agora vc mim pegou. como colocar este beakpoint. ainda estou aprendendo o c#, tem muitos codigos que ainda nao sei pelo nome. mais vou pesquizar.

obrigado pela ajuda.
Responder

21/02/2014

Joel Rodrigues

Para que tem essa seção no app.config, se não está em uso?
Comente ou remova o seguinte bloco de código e teste sua aplicação novamenet:
<configStrings>
    <add name="HomePasta"
      configStrings="syspaf" />
    <add name="HomedriverPenA"
      configStrings="F" />
    <add name="HomedriverPenB"
      configStrings="D" />
</configStrings>
Responder

21/02/2014

Joel Rodrigues

Se não me engano, essa seção é inválida, se não está usando, remova.
Responder

21/02/2014

Murilo Teixeira

Exatamente conforme o Joel disse, a seção que você colocou no App.Config está inválida, remova ela e tente novamente.

Caso deseje utilizar alguma chave, coloque elas dentro do <appSettings>, da seguinte forma:

<appSettings>
		<add key="HomePasta" value="syspaf" />
		<add key="HomedriverPenA" value="F" />
		<add key="HomedriverPenB" value="D" />
	</appSettings>
Responder

21/02/2014

Murilo Teixeira

Lembrando que o <appSettings> fica dentro do <configuration>

<configuration>
	<appSettings>

	</appSettings>
</configuration>
Responder

21/02/2014

Alexssandro Lima

Se não me engano, essa seção é inválida, se não está usando, remova.


joel deu certo agora. esta baixando o arquivo. na verdade era este app.config que eu fiz errado. e nao estava usando.

aqui esta o breakpoint que fiz.


[img:descricao=breakpoing]http://arquivo.devmedia.com.br/forum/imagem/320947-20140221-183011.png[/img]
Responder

21/02/2014

Alexssandro Lima

Lembrando que o <appSettings> fica dentro do <configuration>

<configuration>
	<appSettings>

	</appSettings>
</configuration>



Murilo Deixei a configuração do jeito que você pediu. porque quando meu codigo estiver maior vou poder usar no futuro.

obrigado pela ajuda. ficou funcionando que é uma beleza.

obrigado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar