Я пытаюсь открыть поток из StorageFile. Тем не менее, я пробовал несколько способов запрограммировать это и всегда, кажется, застрял.
В настоящее время я могу использовать средство выбора файлов, чтобы получить файл хранилища, сохранить его токен и использовать этот токен, чтобы снова попасть в файл хранилища. , Но когда я хочу использовать метод OpenStreamForReadAsyn c, результатом будет нулевой поток.
Сначала я попробовал метод asyn c, а затем задачу (см. Код), но я не могу понять, что неправильно. Кто-нибудь может мне помочь?
Странно то, что строка `dummy = 1; ' никогда не выполняется. Отладчик переходит в bool = точка останова;
public class Workbook
{
private StorageFile exFile = null;
private Stream stream = null;
public SpreadsheetDocument exDoc = null;
long dummy = 0;
public Workbook(String faToken)
{
GetStreamFromToken(faToken);
//GetStream(exFile);
//exDoc = SpreadsheetDocument.Open(stream, false);
//var test = exDoc.WorkbookPart.Parts;
bool breakpoint = true;
}
async private void GetStreamFromToken(String faToken)
{
exFile = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(faToken);
stream = await GetStream(exFile);
dummy = 1;
}
public Task<Stream> GetStream(StorageFile exFile)
{
return exFile.OpenStreamForReadAsync();
}
}