2016-11-15 10 views
1

ダウンロード機能を書いたが、ファイルが自分のPCに書き込まれたときに空のファイル(ゼロバイトの長さ) 誰かが理由を教えてくれますか?UWP VB.Netでファイルをダウンロード

これは

Public Shared Async Function StartDownload(ByVal InputUrl As String, ByVal FileName As String) As Task 


    Dim MioPicker As FolderPicker = New FolderPicker() 
    MioPicker.SuggestedStartLocation = PickerLocationId.Desktop 
    MioPicker.ViewMode = PickerViewMode.Thumbnail 
    MioPicker.FileTypeFilter.Add("*") 
    Dim MioFolder As StorageFolder = Await MioPicker.PickSingleFolderAsync 

    Dim source As New Uri(InputUrl) 

    Dim destinationFile As StorageFile = Await MioFolder.CreateFileAsync(FileName, CreationCollisionOption.GenerateUniqueName) 

    Dim downloader As New BackgroundDownloader() 
    Dim download As DownloadOperation = downloader.CreateDownload(source, destinationFile) 

End Function 

感謝がたくさんあります

答えて

1

私は、ダウンロード機能を書いたと思いますが、ファイルは私のPC上で書かれていたとき、それはあなたがなかったためです 空のファイル(ゼロバイトな長さ)

ですダウンロード操作を開始します。 created URIを含むダウンロード操作がスケジュールされます。その後、方法DownloadOperation.StartAsyncでダウンロード操作を開始する必要があります。コードは次のようになります。

Dim downloader As New BackgroundDownloader() 
    Dim download As DownloadOperation = downloader.CreateDownload(source, destinationFile) 
    Await download.StartAsync() 

さらに、コードに進捗ハンドラを追加する方がはるかに優れています。進捗ハンドルを処理する方法については、download scenariobackground transfer official sampleとしてください。また、公式documentを参照することもできます。

+0

ありがとうございます。私の間違いは、StartAsync行を残していた... :-( –

1

次のことを試してください関数です。

HandleDownloadAsync(ダウンロード、真)

これは、ファイルをダウンロードしますbackroundとあなたのプログラマーはそれを待つ必要はありません 終わり 。 コードをスニップしたのはC#ですが、vbのように動作するはずです。

https://msdn.microsoft.com/library/windows/apps/br207154

関連する問題