C#开发BIMFACE系列7 服务端API之获取文件信息列表
本文详细介绍如何获取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之获取文件信息列表的更多相关文章
- C#开发BIMFACE系列6 服务端API之获取文件信息
在<C#开发BIMFACE系列4 服务端API之源上传文件>.<C#开发BIMFACE系列5 服务端API之文件直传>两篇文章中详细介绍了如何将本地文件上传到BIMFACE服务 ...
- C#开发BIMFACE系列8 服务端API之获取文件上传状态信息
系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE控制台上传文件,上传过程及结束后它会自动告诉你文件的上传状态,目前有三种状态:uploading,success,failure ...
- C#开发BIMFACE系列9 服务端API之获取应用支持的文件类型
系列目录 [已更新最新开发文章,点击查看详细] BIMFACE最核心能力之一是工程文件格式转换.无需安装插件,支持数十种工程文件格式在云端转换,完整保留原始文件信息.开发者将告别原始文件解析烦 ...
- C#开发BIMFACE系列10 服务端API之获取文件下载链接
系列目录 [已更新最新开发文章,点击查看详细] 通过BIMFACE控制台或者调用服务接口上传文件成功后,默认场景下需要下载该源文件,下载文件一般需要知道文件的下载链接即可.BIMACE平台提供 ...
- C#开发BIMFACE系列3 服务端API之获取应用访问凭证AccessToken
系列目录 [已更新最新开发文章,点击查看详细] BIMFACE 平台为开发者提供了大量的服务器端 API 与 JavaScript API,用于二次开发 BIM 的相关应用. BIMFACE ...
- C#开发BIMFACE系列17 服务端API之获取模型数据2:获取构件材质列表
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列16 服务端API之获取模型数据1:查询满足条件的构件ID列表>中介绍了获取单文件(模型)的所有 ...
- C#开发BIMFACE系列18 服务端API之获取模型数据3:获取构件属性
系列目录 [已更新最新开发文章,点击查看详细] 本篇主要介绍如何获取单文件/模型下单个构建的属性信息. 请求地址:GET https://api.bimface.com/data/v2/fil ...
- C#开发BIMFACE系列19 服务端API之获取模型数据4:获取多个构件的共同属性
系列目录 [已更新最新开发文章,点击查看详细] 在前几篇博客中介绍了一个三维文件/模型包含多个构建,每个构建又是由多种材质组成,每个构建都有很多属性.不同的构建也有可能包含相同的属性. 上图中 ...
- C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息
系列目录 [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...
随机推荐
- Java网络和代理
Java网络和代理 1)简介 在当今的网络环境中,特别是企业网络环境中,应用程序开发人员必须像系统管理员一样频繁地处理代理.在某些情况下,应用程序应该使用系统默认设置,在其他情况下,我们希望能够非常严 ...
- Java中Random随机数
java中一般有两种随机数,一个是Math中random()方法,一个是Random类. 一.Math.random() 随即生成0<=x<1的小数. 实例:如何写,生成随机生成出0~10 ...
- AbstractCollection
概述 这个类提供了实现Collection接口的骨架,来最小化实现此接口所做的工作. 要实现一个不可修改的 collection,编程人员只需扩展此类,并提供 iterator 和 size 方法的实 ...
- python基础学习(起步)
目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...
- GStreamer基础教程06 - 获取媒体信息
摘要 在常见的媒体文件中,通常包含一些数据(例如:歌手,专辑,编码类型等),用于描述媒体文件.通常称这些数据为元数据(Metadata:data that provides information a ...
- LVS + Keepalived + Nginx基于DR模式构建高可用方案
在大型网站中一般服务端会做集群,同时利用负载均衡器做负载均衡.这样有利于将大量的请求分散到各个服务器上,提升网站的响应速度.当然为了解决单点故障的问题,还会做热备份方案.这里演示利用LVS做负载均衡器 ...
- Mysql执行过程总结
总分三个阶段:Sql的解析,执行和结果获取阶段. 如下图,展开相熟.
- Task CancellationTokenSource和Task.WhenAll的应用
Task是.net4.0推出的异步编程类,与ThreadPool.QueneUserWorkItem方法类似的是,Task也是使用线程池来工作的.但Task比起这个QueneUserWorkItem的 ...
- 08_代码块丶继承和final
Day07笔记 课程内容 1.封装 2.静态 3.工具类 4.Arrays工具类 封装 概述 1.封装:隐藏事物的属性和实现细节,对外提供公共的访问方式 2.封装的好处: 隐藏了事物的实现细节 提高了 ...
- Linux配置及指令
目录 Linux配置及指令 一.linux中常用软件的安装 二.主机名和网络 1.修改主机名 2.设置网络 三.关闭防火墙 1.检查防火墙是否开启 2.清除策略 3.永久关闭第一个防火墙 4.关闭第二 ...