windows-10 – UWP应用程序从系统上的随机位置访问文件
发布时间:2020-12-14 02:06:08 所属栏目:Windows 来源:网络整理
导读:在UWP中有文件和权限限制,因此我们只能直接从几个文件夹访问文件,或者我们可以使用filepicker从系统上的任何位置访问. 我如何使用从filepicker中挑选的文件,并在应用程序运行时再次使用它们?试图通过路径再次使用它们,但它给出了权限错误.我知道“futureacc
在UWP中有文件和权限限制,因此我们只能直接从几个文件夹访问文件,或者我们可以使用filepicker从系统上的任何位置访问.
我如何使用从filepicker中挑选的文件,并在应用程序运行时再次使用它们?试图通过路径再次使用它们,但它给出了权限错误.我知道“futureacceslist”但它的限制是1000,如果我没有错,它会让应用程序变慢吗? . 有一个更好的方法吗 ?或者我们可以在本地sqlite数据库中以某种方式存储存储文件链接? 解决方法
考虑这种方法..
public async static Task<byte[]> ToByteArray(this StorageFile file) { byte[] fileBytes = null; using (IRandomAccessStreamWithContentType stream = await file.OpenReadAsync()) { fileBytes = new byte[stream.Size]; using (DataReader reader = new DataReader(stream)) { await reader.LoadAsync((uint)stream.Size); reader.ReadBytes(fileBytes); } } return fileBytes; } 这个班.. public class AppFile { public string FileName { get; set; } public byte[] ByteArray { get; set; } } 而这个变量 List<AppFile> _appFiles = new List<AppFile>(); 只是.. var fileOpenPicker = new FileOpenPicker(); IReadOnlyList<StorageFile> files = await fileOpenPicker.PickMultipleFilesAsync(); foreach (var file in files) { var byteArray = await file.ToByteArray(); _appFiles.Add(new AppFile { FileName = file.DisplayName,ByteArray = byteArray }); } UPDATE using Newtonsoft.Json; using System.Linq; using Windows.Security.Credentials; using Windows.Storage; namespace Your.Namespace { public class StateService { public void SaveState<T>(string key,T value) { var localSettings = ApplicationData.Current.LocalSettings; localSettings.Values[key] = JsonConvert.SerializeObject(value); } public T LoadState<T>(string key) { var localSettings = ApplicationData.Current.LocalSettings; if (localSettings.Values.ContainsKey(key)) return JsonConvert.DeserializeObject<T>(((string) localSettings.Values[key])); return default(T); } public void RemoveState(string key) { var localSettings = ApplicationData.Current.LocalSettings; if (localSettings.Values.ContainsKey(key)) localSettings.Values.Remove((key)); } public void Clear() { ApplicationData.Current.LocalSettings.Values.Clear(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-phone-8 – 添加辅助Windows Phone 8磁贴
- windows-server-2003 – 如何在Windows Server 2003中找到上
- 窗口 – 自动截取程序窗口的截图
- windows下安装php的memcache模块的方法
- .net – EntityFramework.dll与System.Data.Entity.dll –
- 使用window.performance分析web前端性能
- windows-server-2012 – 当出现故障时,可以将存储空间驱动器
- 如何在Windows XP中从命令行打开“查找文件”对话框以搜索特
- windows下mysql的安装到使用
- Windows系统下latex:texlive2018和texstudio