2013-05-01 4 views
0

У меня есть файл изображения в моем LocalFolder, который загружается при нажатии кнопки в приложении.Сохранение файла из LocalFolder

Мне нужно использовать FileSavePicker для перемещения указанного изображения из LocalFolder в другую папку по выбору пользователя, например. Desktop.

Изображение в LocalFolder, и код, я использую, чтобы сохранить его там:

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

Вы пропускаете 'using' заявление для' FileStream' – Romoku

+0

быстрой коррекции это 'IRandomAccessStream' не' FileStream'. – 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 video] (http://www.youtube.com/watch?v=VupeyqLsN10) для быстрого изучения того, что вам нужно сделать для записи файлов. – Romoku

Смежные вопросы