Как сохранить файл хранилища в месте, выбранном пользователем в UWP? - PullRequest
0 голосов
/ 06 июня 2019

Я открываю файл через:

await Windows.System.Launcher.LaunchFileAsync(storageFile, options);

Документация для LaunchFileAsync гласит:

Когда запуск завершается неудачно по любой из вышеперечисленных причин, API завершается успешно и возвращает FALSE из своей асинхронной операции. Поскольку он не имеет возможность запроса, применяются ли вышеуказанные ограничения к текущему запуск вызывающего приложения не должен предполагать, что запуск прошел успешно, и должен обеспечить запасной механизм на случай, если он потерпит неудачу. Возможно Решение было бы попросить пользователя сохранить файл и направить пользователя чтобы открыть его на рабочем столе .

Какой самый простой способ сделать это?

Я пытался:

var picker = new FolderPicker();
var pfolder = await picker.PickSingleFolderAsync();
StorageApplicationPermissions.FutureAccessList.Add(pfolder);

var folder = await StorageFolder.GetFolderFromPathAsync(pfolder.Path);
var file = await folder.CreateFileAsync(storageFile.Name);
using (var writer = await file.OpenStreamForWriteAsync())
{
    await writer.WriteAsync(storageFile,0,0);
}

Но, к сожалению, writer.WriteAsync занимает всего Bytes[], а не StorageFile. Как мне сохранить мой StorageFile?

...