我使用以下uri通过ForgeAPI从BIM360 team hub下载Revit模型。
https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName
我所有的objectName都以.rvt结尾。所以我下载并保存为rvt文件。但是,我注意到有些文件无法通过Revit打开。它们实际上不是rvt文件,而是zip文件。因此,我必须将扩展名改为.zip并解压缩文件以获得真正的“rvt`”文件。
我的问题是不是所有的文件都是zip文件。我无法从应用程序接口中判断,因为我请求的URI总是以.rvt结尾。
发布于 2020-07-16 12:05:36
每个Unix操作系统都提供file命令,这是一个用于识别计算机文件中包含的数据类型的标准实用程序:
https://en.wikipedia.org/wiki/File_(command)
可以直接识别和报告zip文件,如下所示:
$ file test_dataset.zip
test_dataset.zip: Zip archive data, at least v2.0 to extractRevit RVT模型是Windows复合文档文件,因此它会生成以下输出:
$ file little_house_2021.rvt
little_house_2021.rvt: Composite Document File V2 Document, Cannot read section info因此,您可以使用与file相同的算法来区分RVT和ZIP文件。
Afaik,file只查看给定文件的前几个字节。
Python编程语言提供了类似的实用程序;尝试在互联网上搜索distinguish file type python;第一个搜索结果解释了How to check type of files without extensions in Python并指向filetype Python project。
其他编程语言可以提供类似的功能。
https://stackoverflow.com/questions/62927000
复制相似问题