2013-05-01 7 views
0

LocalFolder에 이미지 파일이 있습니다.이 파일은 앱에서 버튼을 클릭 할 때 다운로드됩니다.LocalFolder에서 파일 저장하기

이미지를 LocalFolder에서 사용자가 선택한 다른 폴더로 이동하려면 FileSavePicker를 사용해야합니다. 데스크톱.

이미지가 로컬 폴더에, 그리고 코드는 I가 저장할 사용하고 있습니다 :

var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(
     "image.png", CreationCollisionOption.ReplaceExisting); 
var fs = await imageFile.OpenAsync(FileAccessMode.ReadWrite); 
DataWriter writer = new DataWriter(fs.GetOutputStreamAt(0)); 
writer.WriteBytes(await response.Content.ReadAsByteArrayAsync()); 
await writer.StoreAsync(); 
writer.DetachStream(); 
await fs.FlushAsync(); 

내가 저장 (불완전)에 대해 가지고있는 현재의 코드는 다음과 같습니다

FileSavePicker saver = new FileSavePicker(); 
saver.SuggestedStartLocation = PickerLocationId.Desktop; 
saver.SuggestedFileName = "image.png"; 
StorageFile file = await saver.PickSaveFileAsync(); 

아무도 내가 이것을 수행 할 수있는 방법에 대해 조언 할 수 있습니까?

+0

'FileStream'에 대해 'using'문이 누락되었습니다. – Romoku

+0

빠른 수정은 'FileStream'이 아닌'IRandomAccessStream '입니다. – Romoku

답변

1

복잡한 것이 아니기 때문에 FileIO을 이용하여 데이터를 작성해야합니다.

var data = await response.Content.ReadAsByteArrayAsync(); 
var localFolder = ApplicationData.Current.LocalFolder; 

var imageFile = await localFolder.CreateFileAsync(
     "image.png", CreationCollisionOption.ReplaceExisting); 
await FileIO.WriteBytesAsync(imageFile, data).AsTask(); 
+0

LocalFolder에 쓰기가 수행됩니까? 이해할 수 있을지 모르겠다. 이전에 LocalFolder로 다운로드 한 이미지를 바탕 화면과 같은 다른 위치에 저장하도록 노력했습니다. – ReignOfComputer

+0

이 [Pluralsight 비디오] (http://www.youtube.com/watch?v=VupeyqLsN10)에서 파일을 작성하기 위해해야 ​​할 일에 대한 간단한 자습서를 확인하십시오. – Romoku

관련 문제