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:获取单模型的楼层信息
系列目录 [已更新最新开发文章,点击查看详细] 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助.本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法. ...
随机推荐
- storm学习路线指南
关于对storm的介绍已经有很多了,我这里不做过多的介绍,我介绍一下我自己的学习路线,希望能帮助一些造轮子的同学走一些捷径,毕竟我也是站在前人总结整理的基础上学习了,如果有不足之处,还请大家不要喷我. ...
- git push 出现non-fast-forward的错误
1.git push origin liu_0909:daily_liu_0909 出现non-fast-forward的错误,证明您的本地库跟远程库的提交记录不一致,即 你的本地库版本需要更新2.g ...
- C#加密解密(AES)
using System; namespace Encrypt { public class AESHelper { /// <summary> /// 默认密钥-密钥的长度必须是32 / ...
- LinkedList实现类
List还有一个LinkedList的实现,它是一个基于链表实现的List类,对于顺序访问集合中的元素进行了优化,特别是当插入.删除元素时速度非常快.因为LinkedList即实现了List接口,也实 ...
- FTP服务端部署
FTP服务端搭建(本地用户登入:使用本地用户和密码登入)1.文件配置:vsftpd.conf: 主配置文件ftpusers: 指定哪些用户不能访问FTP服务器user_list: 指定的用户是否可以访 ...
- 4如何用PHP给MySQL数据库添加记录
首先连接数据库(依旧用第二篇的方法) 假设数据库表里只有id,name,email三列 添加以下代码 $inputemail=写你要的email;$inputname=写你要的name;//先设定你要 ...
- NS3中一些难以理解的常数
摘要:在NS3的学习中,PHY MAC中总有一些常数,需要理解才能修改.如帧间间隔等.那么,本文做个简单分析,帮助大家理解.针对802.11标准中MAC协议. void WifiMac::Conf ...
- org.apache.spark.logging类报错
一,1 在使用spark读取kafka数据时,当spark升级到2.0之后,出现如上问题:之前遇到了,当时在工程里面添加了org.apache.spark.Logging类,能够运行. 但是在后期使用 ...
- python案例:使用if语句实现一个猜拳游戏
任务要求: 在控制台中提示输入石头.剪刀.布,按回车键,然后给出游戏结果. 分析: 我们知道在游戏规则中,石头克剪刀,剪刀克布,布克石头.但是这在计算机中并不是很好直接的表示,因此我们分别用0.1.2 ...
- python面试总结1(基础章节)
python语言基础 语言特点 python是静态还是动态类型?是强类型还是弱类型 动态强类型语言 动态还是静态指的是编译期还是运作期确定类型 强类型指的是不会发生隐式类型转换 python作为后端语 ...