2017-01-24 10 views
0

Я делаю проект телефона с Windows, и вам нужно загрузить текстовый файл из Интернета и прочитать его содержимое.Загрузите txt-файл с Google Drive в Windows Phone 8.1

Это то, что я попытался (но это не сработало)

private async Task pobierz() 
{ 
    string source = "https://drive.google.com/file/d/0BzgKBwKyU4oORkxxSlVITGswb1E/view?usp=sharing"; 
    string LocalName = "hej.txt"; 
    var srce = new Uri(source, UriKind.Absolute); 
    // var destinationFile =await KnownFolders.PicturesLibrary.CreateFileAsync() 
    StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Assets/hej.txt")); 

    var downloader = new BackgroundDownloader(); 
    DownloadOperation download = downloader.CreateDownload(srce,file); 
} 
+2

Возможно, вы можете объяснить, как «она не работает»? –

+0

Можете ли вы объяснить немного больше? –

+0

моя программа debbuging fine no exception wont show:/ – Witcherek

ответ

0

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj152726.aspx?f=255&MSPPError=-2147217396 Пожалуйста, смотрите для подробного описания того, как использовать BackgroundDownloader.

Вы должны реализовать и вызвать следующий метод:

private async void HandleDownloadAsync(DownloadOperation download, bool start) 
{ 
    try 
    { 
     // Store the download so we can pause/resume. 
     activeDownloads.Add(download); 

     Progress<DownloadOperation> progressCallback = new Progress<DownloadOperation>(DownloadProgress); 
     if (start) 
     { 
      // Start the download and attach a progress handler. 
      await download.StartAsync().AsTask(cts.Token, progressCallback); 
     } 
     else 
     { 
      // The download was already running when the application started, re-attach the progress handler. 
      await download.AttachAsync().AsTask(cts.Token, progressCallback); 
     } 

     ResponseInformation response = download.GetResponseInformation(); 
     Log(String.Format("Completed: {0}, Status Code: {1}", download.Guid, response.StatusCode)); 
    } 
    catch (TaskCanceledException) 
    { 
     Log("Download cancelled."); 
    } 
    catch (Exception ex) 
    { 
     LogException("Error", ex); 
    } 
    finally 
    { 
     activeDownloads.Remove(download); 
    } 
} 
+0

i can not use HandleDownloadAsync метод:/name не существует в текущем контексте – Witcherek

+0

Извините, ответили быстро. Нашел решение, собираюсь отредактировать мой ответ – SirBirne

+0

okok мой друг, я подожду: D – Witcherek