2016-12-13 9 views
1

ファイルをローカルストレージからsdカードまたはWP8.1の既知のフォルダにバックアップ目的でコピーするにはどうすればよいですか?WP8.1のローカルストレージからSDカードへのSqliteファイルのコピー

私はフォルダの選択を使用して保存場所を選択しています。

Private Async Sub ButtonBackup_Click(sender As Object, e As RoutedEventArgs) 
    Dim FolderPicker As New FolderPicker() 
    FolderPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary 

    FolderPicker.ViewMode = PickerViewMode.List 
    FolderPicker.PickFolderAndContinue() 

End Sub 

Public Async Sub ContinueFolderPicker(ByVal args As FolderPickerContinuationEventArgs) Implements IFolderPickerContinuable.ContinueFolderPicker 
    Dim folder As StorageFolder = args.Folder 
    If folder IsNot Nothing Then 
     ' Application now has read/write access to all contents in the picked folder (including other sub-folder contents) 
     StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", folder) 
     'OutputTextBlock.Text = "Picked folder: " & folder.Name 
    Else 
     'OutputTextBlock.Text = "Operation cancelled." 
    End If 
    Dim file As StorageFile = Await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("ContactsManager.sqlite") 
    CopyFileToFolder(file, folder) 

End Sub 

Public Async Sub CopyFileToFolder(ByVal filetoCopy As StorageFile, ByVal folder As StorageFolder) 
    Await filetoCopy.CopyAsync(folder) 
End Sub 

しかし、以下の行が起動しない:

私のコードがある

Public Async Sub ContinueFolderPicker(ByVal args As FolderPickerContinuationEventArgs) Implements IFolderPickerContinuable.ContinueFolderPicker 

答えて

0

最終的に私はコードの下に、私の質問を解決しましたがcorrentです。

Private Async Sub ButtonBackup_Click(sender As Object, e As RoutedEventArgs) 
    Dim SqliteStorageFile As StorageFile = Await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("ContactsManager.sqlite") 

    Dim buffer() As Byte 
    Dim stream As Stream = Await SqliteStorageFile.OpenStreamForReadAsync() 
    buffer = New Byte(stream.Length - 1) {} 
    Await stream.ReadAsync(buffer, 0, CInt(stream.Length)) 

    Dim savePicker = New FileSavePicker() 
    savePicker.FileTypeChoices.Add("Backup File", New List(Of String)() From {".backup"}) 
    savePicker.SuggestedFileName = SqliteStorageFile.Name 

    Dim file = Await savePicker.PickSaveFileAsync() 
    If file IsNot Nothing Then 
     CachedFileManager.DeferUpdates(file) 
     Await FileIO.WriteBytesAsync(file, buffer) 
     CachedFileManager.CompleteUpdatesAsync(file) 
    End If 
End Sub 
関連する問題