You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI如何获取并显示设备中的近期图片列表?

获取设备近期图片列表的正确方法

你的代码无法运行的核心问题是:Directory.GetFiles 不支持用 | 分隔多个文件后缀的搜索模式,这种写法是无效的。要实现获取近期图片列表的需求,可以按以下步骤调整代码:

  1. 分别获取不同格式的图片文件
  2. 合并文件列表后按修改时间排序(最新的在前)
  3. 可选:筛选出指定数量的近期图片

修正后的代码示例

using System.IO;
using System.Linq;

var directoryPath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);

// 分别获取jpg和png格式的文件路径
var jpgFiles = Directory.GetFiles(directoryPath, "*.jpg", SearchOption.TopDirectoryOnly);
var pngFiles = Directory.GetFiles(directoryPath, "*.png", SearchOption.TopDirectoryOnly);

// 合并列表并按修改时间倒序排序,取前20个近期图片
var recentImages = jpgFiles.Concat(pngFiles)
                           .Select(filePath => new FileInfo(filePath))
                           .OrderByDescending(file => file.LastWriteTime)
                           .Take(20)
                           .Select(file => file.FullName)
                           .ToArray();

补充说明

  • 如果需要搜索子目录中的图片,将 SearchOption.TopDirectoryOnly 替换为 SearchOption.AllDirectories 即可,但注意部分系统目录可能存在访问权限限制,建议添加异常处理。
  • LastWriteTime 代表文件最后修改的时间,如果你需要按创建时间排序,可替换为 CreationTime。
  • 若要支持更多图片格式(如bmp、gif),只需新增对应格式的Directory.GetFiles调用并合并到列表中。

内容的提问来源于stack exchange,提问作者DanFlakes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:15:58