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