javascript - 如何在 Sharepoint 中获取文件的文件类型
问题描述
我正在尝试从 SharePoint 的文档库中加载文档,并且我希望能够从我的应用程序中按文件类型(Word Doc、Excel 工作表等)过滤它们。我已经弄清楚如何使用 获取文件类型的图标mapToIcon
,但我似乎无法在任何地方找到如何获取文件类型。
是否有任何函数或 API 调用来获取文件的文件类型?我宁愿不必根据文件扩展名对每种类型进行硬编码,但我可能需要这样做。
这是我的一些代码供参考
// data returned from an ajax call to get all documents
var results = data.d.results;
for(var i = 0; i < results.length; i++){
// get the name of the document
var name = results[i].Name;
// retrieve the icon for the file type through an ajax call
var icon;
$.ajax({
url: siteUrl + "/_api/web/maptoicon(filename='" + name + "',progid='',size=0)"
/*headers*/,
success: function(data){
// get the icon
icon = data.d.MapToIcon;
},
});
}
解决方案
File_x0020_Type
SP.ListItem
资源的财产可以用于此目的。
如果您的查询(似乎是您的场景)返回files SP.FileCollection
resource,则可以像这样检索文件类型:
/_api/web/getfolderbyserverrelativeurl('<folder url>')/Files?$select=ListItemAllFields/File_x0020_Type&$expand=ListItemAllFields
如果您的查询返回列表项 SP.ListItemCollection
资源,则可以像这样检索文件类型:
/_api/web/lists/getbytitle('<list title>')/items?$select=File_x0020_Type
推荐阅读
- javascript - 在地图reactjs中制作onclick
- makefile - 两次编译一个文件
- elasticsearch - 如何使用 Scroll API elasticsearch 滚动数据
- javascript - 如何循环对象中的值并在 HTML 中呈现它们?
- r - 将 A、B 列逐个元素组合到 A 和 B 元素的范围列表列中
- vba - VBA自动过滤过去日期的一系列列
- linux - LINUX:无法在 libcryptsetup 上进行 pkg-config
- r - 如何通过 $plane3d 函数使用 scatterplot3d 绘制 R 线性模型 lm()
- reactjs - 使用 post 方法提交表单时如何模拟错误消息?
- c++ - std::ranges::make_heap 的约束是什么?