BIMFACE 二次開發
BIMFACE二次開發系列目錄 【已更新最新開發文章,點選檢視詳細】
通過BIMFACE控制台或者調用服務接口上傳檔案成功後,如果不再需要該檔案,則可以通過BIMFACE平台提供的“源檔案删除”服務接口删除具體的檔案。下面詳細介紹其使用方法。
請求位址:DELETE https://file.bimface.com/file
說明:根據檔案ID删除檔案
參數:
請求 path(示例):https://file.bimface.com/file?fileId=1418750515413120
請求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b"
HTTP響應示例(200):
{
"code" : "success",
"data" : "object", // 如果删除成功,則該值為 null
"message" : ""
}
C#實作方法:
1 /// <summary>
2 /// 根據檔案ID删除檔案
3 /// </summary>
4 /// <param name="accessToken">令牌</param>
5 /// <param name="fileId">檔案ID</param>
6 /// <returns></returns>
7 public virtual FileDeleteResponse DeleteFile(string accessToken, string fileId)
8 {
9 //DELETE https://file.bimface.com/file
10 string url = string.Format(BimfaceConstants.FILE_HOST + "/file?fileId={0}", fileId);
11
12 BimFaceHttpHeaders headers = new BimFaceHttpHeaders();
13 headers.AddOAuth2Header(accessToken);
14
15 try
16 {
17 FileDeleteResponse response;
18
19 HttpManager httpManager = new HttpManager(headers);
20 HttpResult httpResult = httpManager.Delete(url);
21 if (httpResult.Status == HttpResult.STATUS_SUCCESS)
22 {
23 response = httpResult.Text.DeserializeJsonToObject<FileDeleteResponse>();
24 }
25 else
26 {
27 response = new FileDeleteResponse
28 {
29 Message = httpResult.RefText
30 };
31 }
32
33 return response;
34 }
35 catch (Exception ex)
36 {
37 throw new Exception("[根據檔案ID删除檔案]發生異常!", ex);
38 }
39 }
其中引用的 httpManager.Delete() 方法如下:
1 /// <summary>
2 /// HTTP-DELETE方法,(不包含body資料)。
3 /// 發送 HTTP 請求并傳回來自 Internet 資源的響應(HTML代碼)
4 /// </summary>
5 /// <param name="url">請求目标URL</param>
6 /// <returns>HTTP-POST的響應結果</returns>
7 public HttpResult Delete(string url)
8 {
9 return RequestString(url, null, HttpMethod.DELETE, null);
10 }
其中引用的RequestString()方法,請參考《C#開發BIMFACE系列6 服務端API之擷取檔案資訊》,方法完全一樣。
測試
在BIMFACE的控制台中可以看到我們上傳的檔案清單
選擇任意一個檔案的ID來做測試
可以看到删除檔案成功。
再次重新整理BIMFACE控制台,隻剩下了一筆記錄,1681963336074720 檔案被成功删除。
測試程式如下:
// 根據檔案ID删除檔案
protected void btnDeleteFile_Click(object sender, EventArgs e)
{
txtFileInfo.Text = string.Empty;
string token = txtAccessToken.Text;
string fileId = txtFileId.Text;
FileApi api = new FileApi();
FileDeleteResponse response = api.DeleteFile(token, fileId);
txtFileInfo.Text = response.Code
+ Environment.NewLine
+ response.Message
+ Environment.NewLine
+ response.Data.ToString2();
}
成在管理,敗在經驗;嬴在選擇,輸在不學! 貴在堅持!
歡迎關注作者頭條号 張傳甯IT講堂,擷取更多IT文章、視訊等優質内容。
個人作品
1、BIMFace.Community.SDK.NET開源位址:https://gitee.com/NAlps/BIMFace.SDK
系列部落格:https://www.cnblogs.com/SavionZhang/p/11424431.html
系列視訊:https://www.cnblogs.com/SavionZhang/p/14258393.html
2、ZCN.NET.Common開源位址:https://gitee.com/NAlps/zcn.net.common
技術棧
1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python
2、jQuery、Vue.js、Bootstrap
3、資料庫:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、達夢DM、人大金倉、 神通、南大通用 GBase、華為 GaussDB 、騰訊 TDSQL 、阿裡 PolarDB、螞蟻金服 OceanBase、東軟 OpenBASE、浪潮雲溪資料庫 ZNBase
4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分庫分表、讀寫分離
5、架構:領域驅動設計 DDD、ABP
6、環境:跨平台、Windows、Linux(CentOS、麒麟、統信UOS、深度Linux)、maxOS、IIS、Nginx、Apach
7、移動App:Android、IOS、HarmonyOS、微信、小程式、快應用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler
雲原生、微服務、Docker、CI/CD、DevOps、K8S;
Dapr、RabbitMQ、Kafka、分布式、大資料、高并發、負載均衡、中間件、RPC、ELK;
.NET + Docker + jenkins + Github + Harbor + K8S;
出處:www.cnblogs.com/SavionZhang
作者:張傳甯 微軟MCP、系統架構設計師、系統內建項目管理工程師、科技部創新工程師。
專注于微軟.NET技術(.NET Core、Web、MVC、WinForm、WPF)、通用權限管理系統、工作流引擎、自動化項目(代碼)生成器、SOA 、DDD、 雲原生(Docker、微服務、DevOps、CI/CD);PDF、CAD、BIM 審圖等研究與應用。
多次參與電子政務、圖書教育、生産制造等企業級大型項目研發與管理工作。
熟悉中小企業軟體開發過程:需求分析、架構設計、編碼測試、實施部署、項目管理。通過技術與管理幫助中小企業快速化實作網際網路技術全流程解決方案。
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。
如有問題,可以通過郵件[email protected]聯系。共同交流、互相學習。
如果您覺得文章對您有幫助,請點選文章右下角【推薦】。您的鼓勵是作者持續創作的最大動力!