簡體   English   中英

未經授權的訪問異常UWP

[英]Unauthorized Access Exception UWP

我做了一個簡單的UWP應用來測試一些代碼

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        FlipButton.Click += new RoutedEventHandler(FlipButton_Click);
    }

    private async void FlipButton_Click(object sender, RoutedEventArgs e)
    {
        var sf = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///test_pattern.png"));
        var original = await sf.OpenStreamForReadAsync();

        using (var stream = new SKManagedStream(original))
        using (var bitmap = SKBitmap.Decode(stream))
        {
            ITransform flip = new Flip(FlipOrientation.Vertical);
            SKBitmap result = flip.Perform(bitmap);

            StorageFolder storageFolder = await KnownFolders.GetFolderForUserAsync(null /* current user */, KnownFolderId.PicturesLibrary);
            StorageFile flipfile = await storageFolder.CreateFileAsync("flip_vertical.png", CreationCollisionOption.ReplaceExisting);
            Stream flipstream = await flipfile.OpenStreamForWriteAsync();

            using (SKManagedWStream wstream = new SKManagedWStream(flipstream))
            {
                result.Encode(wstream, SKEncodedImageFormat.Png, 100);
            }
        }
    }
}

並在StorageFolder行上拋出UnauthorizedAccessException 我是UWP的新手,我不知道如何使它工作。

PS。 我使用的一些代碼來自github上的Microsoft Samples ...

要訪問PicturesLibrary文件夾,您需要在清單文件中將其聲明為功能,如下所示:

<Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities>

Microsoft Docs中提供了有關應用程序功能聲明的更多信息。

在UWP應用程序中,我們無法直接訪問文件夾。 它們提供了一些我們可以直接訪問的文件夾的功能。 但是,如果要訪問整個文件系統,則可以添加功能受限的boardFileSystem。 然后,您可以通過其路徑訪問任何文件夾和文件。

有關更多信息,請訪問此鏈接

https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM