OneDrive FilePicker v7.2无法筛选大写扩展名问题求助
OneDrive Filepicker v7.2 实现大小写TTF文件筛选的解决方案
问题原因
你之前的配置错误使用了advanced.filter参数——这个参数并非直接接收扩展名列表,而是需要符合OData查询规范的筛选表达式。直接写.ttf,.TTF不符合语法,因此无法匹配大写扩展名的文件。
正确配置方案
使用OData的tolower()和endswith()函数组合,实现大小写不敏感的扩展名筛选:
var odOptions = { clientId: "INSERT-APP-ID-HERE", action: "query", multiSelect: false, advanced: { queryParameters: "select=id,name,size,file,folder,photo,@microsoft.graph.downloadUrl", filter: "endswith(tolower(name), '.ttf')" } }
说明
tolower(name):将文件名转换为小写,消除大小写差异endswith(..., '.ttf'):判断转换后的文件名是否以.ttf结尾,同时匹配.ttf和.TTF格式的文件- 如果需要添加更多扩展名,可通过
or连接多个条件,例如:filter: "endswith(tolower(name), '.ttf') or endswith(tolower(name), '.otf')"
原提问内容
我当前正在开发一个使用OneDrive filepicker v7.2的项目,希望在打开文件选择器时设置筛选规则,限制选择.ttf和.TTF格式的文件。但配置后发现无法筛选带有大写扩展名的文件,请问该如何实现对大写扩展名的筛选?相关配置代码如下:
var odOptions = { clientId: "INSERT-APP-ID-HERE", action: "query", multiSelect: false, advanced: { queryParameters: "select=id,name,size,file,folder,photo,@microsoft.graph.downloadUrl", filter: ".ttf,.TTF" } }
内容的提问来源于stack exchange,提问作者CnV
相关产品推荐
相关产品推荐

