Я пишу текстовый редактор в MAUI и столкнулся с проблемой, что при выполнении этого кода (в Windows 10) возникает ошибка «Возникло исключение: «System.UnauthorizedAccessException» в System.Private.CoreLib.dll». Пробовал гуглить, как разрешить приложению доступ к файловой системе, но тщетно
private async Task HandleSaveClick()
{
if (!string.IsNullOrEmpty(fileContent) && !string.IsNullOrEmpty(filePath))
{
var fileData = Encoding.UTF8.GetBytes(fileContent);
using (FileStream stream = new FileStream(filePath, FileMode.Create))
{
await stream.WriteAsync(fileData, 0, fileData.Length);
}
}
}
Можете ли вы показать подробности о пути к файлу? Эта ошибка означает, что путь к файлу, к которому вы пытаетесь получить доступ, запрещен системой. Я создал образец для сохранения файла в папке, указанной в официальном документе о Помощнике файловой системы Мауи.
using (FileStream filestream = new FileStream(Path.Combine(FileSystem.CacheDirectory, "Test.txt"), FileMode.Create))
{
var data = Encoding.UTF8.GetBytes("this is content");
await filestream.WriteAsync(data,0,data.Length);
}
И файл будет сохранен в FileSystem.CacheDirectory.
Вы можете попробовать проверить мой код, чтобы проверить, является ли причиной путь к файлу или нет. @ИльяВасунин
Вы просто переписали то, что я написал в своем посте. Буквально тот же код
Этот код может успешно работать в моем проекте.
Команда разработчиков MAUI недавно запустила официальный API для хранения файлов, подробности о котором вы можете узнать в FileSaver.
файл выбирается пользователем.