Ir para o conteúdo
goldspy98

Criar pastas durante download

Mensagens Recomendadas

goldspy98

Olá, eu estou com um problema que é quando facho o download de arquivos com a função

WithEvents wc As New WebClient

wc.DownloadFile(New Uri("http://teste.com/Teste/teste.txt"), Application.StartupPath & "\Teste\teste.txt")

ele é para ser posto dentro da pasta \Teste mas essa pasta não existe a ideia é o programa ver que o arquivo é para estar dentro da pasta \Teste e então criar essa pasta e por la o arquivo, pois se eu executar o programa sem ter essa pasta criar ele da-me um erro de WebClient, alguém sabe como posso fazer isto?

PS: Não coloquei o o código como VB porque não sei como fazê-lo se alguém disser como é eu altero :)

Editado por ribeiro55

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Basta colocares [ code=vbnet]código VB[/code ].

Testa primeiro a existência da pasta e cria-a caso não exista:

Dim DirAlvo As String = Application.StartupPath.TrimEnd("\") & "\Teste"
If Not FileIO.FileSystem.DirectoryExists(DirAlvo) Then FileIO.FileSystem.CreateDirectory(DirAlvo)

Editado por ribeiro55

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
goldspy98

Olá de novo deparei me com um outro problema relativamente a função de download que coloquei, pois enquanto o programa esta a fazer o download o ambiente gráfico (A Form) trava totalmente eu não consigo fazer nada nela nem clicar na cruz, as mensagem que eu pus a aparecer durante o download também não aparecem, tipo cransa totalmente o programa mas o download fica a fazer pois quando ele acaba de transferir volta ao normal, alguém sabe como posso resolver isto?

PS: Pelo que encontrei na Internet tenho de usar uma função chamada Thread mas não consegui descobrir como usá la.

Editado por goldspy98

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Podes usar um BackgroundWorker, por exemplo.

A própria implementação da Microsoft tem um método chamado "DownloadFileAsync" que te trata internamente dos threads e dispara o evento de conclusão quando a coisa termina.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.