本文详细介绍如何获取BIMFACE平台中所有上传过的文件信息列表。

请求地址:GET https://file.bimface.com/files

说明:根据多种查询条件获取文件详细信息列表,支持分页

参数:

请求 path(示例):https://file.bimface.com/files

请求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b"

HTTP响应示例(200):

{
"code" : "success",
"data" : [ {
"createTime" : "2017-11-09 13:25:03",
"etag" : "19349858cjs98ericu989",
"fileId" : ,
"length" : ,
"name" : "-1F.rvt",
"status" : "success",
"suffix" : "rvt"
} ],
"message" : ""
}

注意上面返回的data内容是一个数组。

C#实现方法:

 /// <summary>
/// 根据多种查询条件获取文件详细信息列表,支持分页
/// </summary>
/// <param name="accessToken">令牌</param>
/// <param name="startTime">起始日期,格式为 yyyy-MM-dd。默认为空,查询所有</param>
/// <param name="endTime">截止日期,格式为 yyyy-MM-dd。默认为空,查询所有</param>
/// <param name="rows">查询结果数, 默认为100, 最大500。默认100</param>
/// <param name="offset">查询结果偏移,从查询结果的第offset条开始返回数据。默认-1,查询所有</param>
/// <param name="status">文件状态,uploading,success,failure。默认为空,查询所有</param>
/// <param name="suffix">文件后缀。默认为空,查询所有</param>
/// <returns></returns>
public virtual FileInfoListGetResponse GetFileInfoList(string accessToken, string startTime = "", string endTime = "", long rows = , long offset = -, string status = "", string suffix = "")
{
FileInfoListGetResponse response = new FileInfoListGetResponse(); #region 校验
if (rows < || rows > )
{
response.Message = "参数[rows]超出范围。要求控制在1到500之间!"; return response;
} #endregion //GET https://file.bimface.com/files
string url = BimfaceConstants.FILE_HOST + "/files";
url = url + "?rows=" + rows;
if (!string.IsNullOrWhiteSpace(startTime))
{
url = url + "?rows=" + rows;
}
if (!string.IsNullOrWhiteSpace(endTime))
{
url = url + "?endTime=" + endTime;
}
if (offset >= )
{
url = url + "?offset=" + offset;
}
if (!string.IsNullOrWhiteSpace(status))
{
url = url + "?status=" + status;
}
if (!string.IsNullOrWhiteSpace(suffix))
{
url = url + "?suffix=" + suffix;
} BimFaceHttpHeaders headers = new BimFaceHttpHeaders();
headers.AddOAuth2Header(accessToken); try
{
HttpManager httpManager = new HttpManager(headers);
HttpResult httpResult = httpManager.Get(url);
if (httpResult.Status == HttpResult.STATUS_SUCCESS)
{
response = httpResult.Text.DeserializeJsonToObject<FileInfoListGetResponse>();
}
else
{
response = new FileInfoListGetResponse
{
Message = httpResult.RefText
};
} return response;
}
catch (Exception ex)
{
throw new Exception("[获取文件信息列表]发生异常!", ex);
}
}
其中引用的 httpManager.Get() 方法,请参考《C#开发BIMFACE系列6 服务端API之获取文件信息》,方法完全一样。
测试

在BIMFACE的控制台中可以看到我们上传的文件列表,共计2个文件。

下面通过调用上述的GetFileInfoList()方法来测试,结果如下,与后台的文件列表一致。

测试程序如下:
// 获取文件信息列表
protected void btnGetFileList_Click(object sender, EventArgs e)
{
txtFileInfo.Text = string.Empty; string token = txtAccessToken.Text; FileApi api = new FileApi();
FileInfoListGetResponse response = api.GetFileInfoList(token); List<FileInfoGetEntity> fileInfoList = response.Data;
StringBuilder sbFiles = new StringBuilder();
foreach(FileInfoGetEntity fileInfo in fileInfoList)
{
sbFiles.AppendLine("名称:" + fileInfo.ToString());
} txtFileInfo.Text = response.Code
+ Environment.NewLine
+ response.Message
+ Environment.NewLine
+ "共获取 " + fileInfoList.Count + " 个文件。"
+ Environment.NewLine
+ sbFiles;
}

												

C#开发BIMFACE系列7 服务端API之获取文件信息列表的更多相关文章

  1. C#开发BIMFACE系列6 服务端API之获取文件信息

    在<C#开发BIMFACE系列4 服务端API之源上传文件>.<C#开发BIMFACE系列5 服务端API之文件直传>两篇文章中详细介绍了如何将本地文件上传到BIMFACE服务 ...

  2. C#开发BIMFACE系列8 服务端API之获取文件上传状态信息

    系列目录     [已更新最新开发文章,点击查看详细] 在BIMFACE控制台上传文件,上传过程及结束后它会自动告诉你文件的上传状态,目前有三种状态:uploading,success,failure ...

  3. C#开发BIMFACE系列9 服务端API之获取应用支持的文件类型

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE最核心能力之一是工程文件格式转换.无需安装插件,支持数十种工程文件格式在云端转换,完整保留原始文件信息.开发者将告别原始文件解析烦 ...

  4. C#开发BIMFACE系列10 服务端API之获取文件下载链接

    系列目录     [已更新最新开发文章,点击查看详细] 通过BIMFACE控制台或者调用服务接口上传文件成功后,默认场景下需要下载该源文件,下载文件一般需要知道文件的下载链接即可.BIMACE平台提供 ...

  5. C#开发BIMFACE系列3 服务端API之获取应用访问凭证AccessToken

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE 平台为开发者提供了大量的服务器端 API 与 JavaScript API,用于二次开发 BIM 的相关应用. BIMFACE ...

  6. C#开发BIMFACE系列17 服务端API之获取模型数据2:获取构件材质列表

    系列目录     [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列16 服务端API之获取模型数据1:查询满足条件的构件ID列表>中介绍了获取单文件(模型)的所有 ...

  7. C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性

    系列目录     [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...

  8. C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性

    系列目录     [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...

  9. C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息

    系列目录     [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...

随机推荐

  1. fuel 9.0完全离线配置+升级fule 9.1+bootstrap制作

    2017-08-23 fuel 完全离线配置 完全离线适用于部署在内网,无Internet的环境当中,且需要升级fuel版本的情况.理论上,我的办法适用所有版本. 以下所有操作全部在fuel节点上. ...

  2. 转 - RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  3. zookeeper集群搭建及常用场景实现

    本文完整源码地址 基于zookeeper的常用用法.分布式锁.分布式队列及leader选举实现 https://github.com/killianxu/zookeeper_example zooke ...

  4. rabbitMQ_Publish/Subscribe(三)

    发布/订阅 生产者发布信息,多个订阅者可以同时接收到信息. 转发器 现在是时候在RabbitMQ中引入完整的消息传递模式了. 让我们快速了解我们在以前的教程中介绍的内容: 生产者是一个发送消息的应用程 ...

  5. PHP Composer安装使用

    1.安装composer curl -sS https:\\getcomposer.org/install | php 如果出现这样的提示,打开php.ini检查是否开启openssl扩展 2.下载成 ...

  6. cmd与monkey测试

    monkey测试的相关命令 monkey是模拟用户触摸操作,不支持条件判断.monkey命令格式:  启动安卓模拟器/真机 点击运行->输入cmd->进入命令行界面 查看设备连接情况,ad ...

  7. Linux内核OOM killer机制

    程序运行了一段时间,有个进程挂掉了,正常情况下进程不会主动挂掉,简单分析后认为可能是运行时某段时间内存占用过大,系统内存不足导致触发了Linux操作系统OOM killer机制,将运行中的进程杀掉了. ...

  8. nginx基本运维及常用配置

    nginx基本运维及常用配置 ========================================================== 基本运维 nginx 的启动 nginx -c /p ...

  9. unity 四叉树管理场景

    当场景元素过多时,需要实时的显示及隐藏物体使得性能提示,但是物体那么多,怎么知道哪些物体需要显示,哪些物体不需要显示的.当然,遍历物体判断该物体是否可以显示是最容易想到的方法,但是每次更新要遍历所有物 ...

  10. Scala类和对象(二)

    1. 类和属性 1.1 如何控制构造函数字段的可见性 在Scala中: 如果一个字段被声明为var, Scala会为该字段生成getter和setter方法. 如果字段是val, Scala只生成ge ...