我在使用GetThumbnailAsync() StorageFile方法时遇到了问题。使用文件选择器选择文件时,将正确生成缩略图;使用GetFilesAsync()搜索文件时,将检索通用图像图标。
检索文件的代码如下:
var queryOptions = new QueryOptions(CommonFileQuery.OrderByDate, fileTypeFilter);
queryOptions.FolderDepth = FolderDepth.Deep;
var cacheFolder = KnownFolders.PicturesLibrary;
var result = cacheFolder.CreateFileQueryWithOptions(queryOptions);
var files = await result.GetFilesAsync();
`
缩略图是通过以下方法生成的:
var thumbnail = await imageFile.GetThumbnailAsync(ThumbnailMode.SingleItem, (uint)requestedSize, ThumbnailOptions.UseCurrentScale);
我真的不明白为什么结果会如此不同。
当然,我在app清单文件中选择了PictureLibrary。
有什么帮助吗?
发布于 2022-11-02 10:12:57
这两个API的返回是不同的。
GetFilesAsync()返回IAsyncOperation<IReadOnlyList<StorageFile>>.
PickSingleFileAsync()返回IAsyncOperation<StorageFile>.
如果您使用files
作为imageFile
。GetThumbnailAsync
不起作用。
IReadOnlyList<StorageFile>
不包含GetThumbnailAsync
的定义,也不包含可访问的扩展方法GetThumbnailAsync
。
因此,建议您使用FileOpenPicker。
https://stackoverflow.com/questions/74279572
复制相似问题