如何在UWP中将任何位置的图像或文件复制或删除到应用程序中的文件夹

如何在UWP中将任何位置的图像或文件复制或删除到应用程序中的文件夹,uwp,Uwp,我曾尝试将图像或文件从计算机复制到UWP应用程序中的本地文件夹,但我没有这样做。我总是说文件被拒绝访问。 我在微软网站上搜索了谷歌和UWP资源,我使用了从这些链接中获得的大部分方法。但是我还没有得到它。默认情况下,UWP应用程序没有访问文件系统的权限,有几种方法可以获得访问权限,同时仍让用户控制操作。第一种方法是通过文件选择器,在用户选择文件后,您可以保存一个令牌,以便您将来可以在不询问用户的情况下再次访问该文件。 另一个选项是使用BroadFileAccess功能来访问文件,而不要求用户在文件

我曾尝试将图像或文件从计算机复制到UWP应用程序中的本地文件夹,但我没有这样做。我总是说文件被拒绝访问。
我在微软网站上搜索了谷歌和UWP资源,我使用了从这些链接中获得的大部分方法。但是我还没有得到它。

默认情况下,UWP应用程序没有访问文件系统的权限,有几种方法可以获得访问权限,同时仍让用户控制操作。第一种方法是通过文件选择器,在用户选择文件后,您可以保存一个令牌,以便您将来可以在不询问用户的情况下再次访问该文件。 另一个选项是使用BroadFileAccess功能来访问文件,而不要求用户在文件选择器中选择它。在该选项生效之前,用户需要从Windows 10隐私设置授予对应用程序的文件访问权限。

非常感谢。 我找到了解决方案,你的答案很有用

这就是解决办法

这是上传按钮图片

        private async void BtnAddImage_OnClick(object sender, RoutedEventArgs e)
    {
        var imagePicker = new FileOpenPicker
        {
            ViewMode = PickerViewMode.Thumbnail,
            SuggestedStartLocation = PickerLocationId.Desktop,
            FileTypeFilter = { ".jpg", ".png", ".bmp", ".gif", ".tif" }
        };


        var imageFile = await imagePicker.PickSingleFileAsync();
        if (imageFile == null)
        {
            return;
        }

        _storageFile = imageFile;
        _path = imageFile.Path;

        var dataPackage = new DataPackage();

        dataPackage.SetBitmap(RandomAccessStreamReference.CreateFromFile(imageFile));
        Clipboard.SetContent(dataPackage);




        var dataPackageView = Clipboard.GetContent();
        if (!dataPackageView.Contains(StandardDataFormats.Bitmap)) return;


        IRandomAccessStreamReference imageReceived = await dataPackageView.GetBitmapAsync();


        if (imageReceived == null) return;
        using (var imageStream = await imageReceived.OpenReadAsync())
        {
            var bitmapImage = new BitmapImage();
            bitmapImage.SetSource(imageStream);
            ImgSupplier.Source = bitmapImage;

        }

        StorageApplicationPermissions.FutureAccessList.Add(imageFile);
    }
重新运行路径

    private static string GetPath(string folderName)
    {

  var root = Windows.ApplicationModel.Package.Current.InstalledLocation.Path + @"\Assets\";

        var fullPath = Path.Combine(root, folderName);
        return fullPath;
    }
这是一个保存按钮

    private StorageFile _storageFile;   
    private async void BtnAddExpenditure_OnClick(object sender, RoutedEventArgs e)
    {
        var getPath = GetPath("Companies");

        var folder = await StorageFolder.GetFolderFromPathAsync(getPath);
        await _storageFile.CopyAsync(folder, Guid.NewGuid() + "." + _storageFile.FileType);
    }

请出示密码。你是从拾荒者那里得到文件的吗?来自FutureAccessList?您好,您是通过路径获取文件的吗?UWP对此有限制。默认情况下,不允许按路径获取文件。你可以试试