Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用DownloadsFolder创建文件并在文件资源管理器中显示_C#_Uwp - Fatal编程技术网

C# 使用DownloadsFolder创建文件并在文件资源管理器中显示

C# 使用DownloadsFolder创建文件并在文件资源管理器中显示,c#,uwp,C#,Uwp,我需要使用DownloadsFolder创建一个文件,然后我想在用户文件资源管理器中显示它。我知道我可以使用Launcher.LaunchFolderAsync来执行此操作,但它需要一个StorageFolder作为参数,但我很确定无法为特定目录获取一个参数 那我该怎么办呢?你将无法访问DownloadsFolder,但我在应用程序中使用了一个技巧 首先,您必须在应用程序的package.appxmanifest中创建文件类型关联。 其次,您需要在下载文件夹中创建一个文件夹,并使用令牌名称将该文

我需要使用
DownloadsFolder
创建一个文件,然后我想在用户文件资源管理器中显示它。我知道我可以使用
Launcher.LaunchFolderAsync
来执行此操作,但它需要一个
StorageFolder
作为参数,但我很确定无法为特定目录获取一个参数


那我该怎么办呢?

你将无法访问DownloadsFolder,但我在应用程序中使用了一个技巧

首先,您必须在应用程序的package.appxmanifest中创建文件类型关联。 其次,您需要在下载文件夹中创建一个文件夹,并使用令牌名称将该文件夹添加到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);
        }
希望这对你有帮助


Ramtin.

您将无法访问DownloadsFolder,但我在应用程序中使用了一个技巧

首先,您必须在应用程序的package.appxmanifest中创建文件类型关联。 其次,您需要在下载文件夹中创建一个文件夹,并使用令牌名称将该文件夹添加到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);
        }
希望这对你有帮助

拉姆丁