Jump to content
goldspy98

Criar pastas durante download

Recommended Posts

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 :)

Edited by ribeiro55

Share this post


Link to post
Share on other 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)

Edited by 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"

Share this post


Link to post
Share on other sites
goldspy98

Mais uma vez obrigado ribeiro55 pela a ajuda prestada e obrigado pela dica de como por o código VB :)

Share this post


Link to post
Share on other 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.

Edited by goldspy98

Share this post


Link to post
Share on other 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"

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.