使用DownloadsFolder创建一个文件并在文件资源管理器中显示它

时间:2017-11-10 11:00:03

标签: c# uwp

我需要使用DownloadsFolder创建一个文件,然后我想在用户文件资源管理器中显示它。我知道我可以使用Launcher.LaunchFolderAsync这样做,但它需要StorageFolder作为参数,但我很确定没有办法为该特定目录获取一个。

那我该怎么做?

1 个答案:

答案 0 :(得分:0)

您将无法访问DownloadsFolder,但这是我在我的应用中使用的技巧。

首先,您必须在应用中的package.appxmanifest中创建文件类型关联。 其次,您需要在Downloads文件夹中创建一个文件夹,并使用令牌名称将此文件夹添加到StorageApplicationPermissions.FutureAccessList。 这样:

string token = "picturesTokenNaME";
private async void btnCreate_Click(object sender, RoutedEventArgs e)
{
    try
    {
        await CreatePictureFolderAsync();
        var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
        var file = await folder.CreateFileAsync("abc.txt", CreationCollisionOption.GenerateUniqueName);
        await FileIO.WriteTextAsync(file, "ameeeeeeeeeeeeeeeeeeeeeeeee");

    }
    catch (Exception ex) { ex.Exception("btnCreate_Click"); }
}

现在用于创建文件,请执行此操作>

 private async void btnOpen_Click(object sender, RoutedEventArgs e)
        {
            var folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
            var file = await folder.GetFileAsync("abc.txt");
            var text = await FileIO.ReadTextAsync(file);
            Debug.WriteLine(text);
            await Launcher.LaunchFolderAsync(folder);
        }

所以要打开这个文件夹,只需这样做:

install.packages("gpclib", type="source")
require(gpclib)
if(!require(gpclib)) install.packages("gpclib", type = "source")
gpclibPermit()

希望这对你有所帮助。

Ramtin。