2016-11-01 2 views
0

FileSavePicker가있는 폴더에 내 응용 프로그램의 파일을 복사하고 싶습니다. 내 코드 :내 응용 프로그램에서 파일을 복사하는 방법 FileSavePicker UWP 사용

var fileSavePicker = new FileSavePicker(); 
fileSavePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; 

var filedb = new[] { ".db" }; 
fileSavePicker.FileTypeChoices.Add("DB", filedb); 
fileSavePicker.SuggestedFileName = "BACKUPDB" + System.DateTime.Now.Day + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Year; 

//var pathDB = Path.Combine(ApplicationData.Current.LocalFolder.Path, "file.db"); 

try 
{ 
    StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("file.db"); 
    StorageFile localfile = await fileSavePicker.PickSaveFileAsync(); 
    fileSavePicker.SuggestedSaveFile = file; 

    if (file != null) 
    { 
     Debug.WriteLine("file Exists!!"); 
     var fileToSave = await fileSavePicker.PickSaveFileAsync(); 

     .... 

하지만 내 저장된 파일의 크기가 0 I 텍스트 파일을 저장하지만 내 파일을 텍스트하지하는 방법을 발견

있습니다.

+0

실제 파일 복사를 수행하는 코드는 포함하지 않았습니다. –

+0

이것은 내가 모르는 질문입니다. 나는 코드에서 0 크기로 저장된 파일을 찾았습니다. – Rodrigo

+0

thx로 attention.i는 해결책을 찾았습니다. http://stackoverflow.com/questions/15305758/export-sqlite-database-from-windows- store-app – Rodrigo

답변

1

CopyAndReplaceAsync 메서드를 사용하면 로컬 파일을 선택한 파일로 복사 할 수 있습니다.

var fileSavePicker = new Windows.Storage.Pickers.FileSavePicker(); 
fileSavePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; 

var filedb = new[] { ".db" }; 
fileSavePicker.FileTypeChoices.Add("DB", filedb); 
fileSavePicker.SuggestedFileName = "BACKUPDB" + System.DateTime.Now.Day + "-" + System.DateTime.Now.Month + "-" + System.DateTime.Now.Year; 

//var pathDB = Path.Combine(ApplicationData.Current.LocalFolder.Path, "file.db"); 

try 
{ 
    StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("file.db"); 
    StorageFile localfile = await fileSavePicker.PickSaveFileAsync(); 

    if (file != null) 
    { 
     Debug.WriteLine("file Exists!!"); 
     await file.CopyAndReplaceAsync(localfile); 
    } 
} 
catch(Exception ex) 
{ 
    Debug.WriteLine(ex); 
} 
+0

완벽한, 고마워, 나는 이것을 너무 사용했다 : https://stackoverflow.com/questions/15305758/export-sqlite-database-from-windows-store-app/15309471#15309471 하지만 당신이 더 낫다. 왜냐하면 더 빠르게. 이제 FileOpenPicker()를 사용하여 프로 시저를 역순으로 진행합니다. – Rodrigo

관련 문제