zoukankan      html  css  js  c++  java
  • C#开发BIMFACE系列11 服务端API之源文件删除

    通过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();
    }
  • 相关阅读:
    浅析PostgreSQL的 ON CONFLICT 和 upsert:不存在则插入/存在则更新、upsert 介绍、语法及示例
    常见工作场景解决方案开源库推荐:文件上传库
    [转]Go-micro 服务端、客户端简单示例
    micro 与go-micro的区别
    【转】一篇文章说清楚 TDengine 的 FQDN
    【转】LV扩容(lvextend)
    [AWS] Launch configuration vs Launch template
    AcWing 867. 分解质因数
    AcWing 866. 试除法判定质数
    AcWing 861. 二分图的最大匹配
  • 原文地址:https://www.cnblogs.com/SavionZhang/p/11434270.html
Copyright © 2011-2022 走看看