• MSDC 4.3 接口规范(15)


    5.4 文件传输服务管理

    5.4.1 开启文件捕捉

    5.4.1.1 接口

    void startFileCapture (int serviceId);
    void startFileCapture (int serviceId,
    String fileURI);
    public void startFileCapture(FileCaptureParams params);
    void fileAvailable (int serviceId,
    FDFile file);
    void fileDeliveryServiceError (int errorCode,
    String message,
    Integer serviceId);

    5.4.1.2 前置条件

    文件传输链接初始化

    5.4.1.3 描述

    要启动文件捕获,应用程序应向MSDC发送startFileCapture()请求。应用程序在此请求中为MSDC API提供服务ID。服务ID是应用程序请求捕获文件的文件传递服务的ID。应用程序从ServiceInfo.serviceHandle获取此ID。

    该应用程序还可能提供以下功能:

    •启用文件下载进度报告–当设置为TRUE时,UI应用程序接收有关文件下载进度的通知。

    •文件URI–应用程序需要的文件的唯一路径标识符。例如:
    http://file-uri.com/abc/file1.txt.
    如果应用程序未在路径中指定文件名,例如。,http://file-uri.com/abc/,MSDC将尝试捕获此路径下的所有文件。
    如果用户将前缀/URI设置为/CNN,MSDC将捕获以该前缀开头的所有文件,例如选定服务上的/CNN/s1/file1.xml,但它与/XYZ/CNN/file2.xml不匹配。

    –可以指定带或不带正斜杠(/)的前缀URI。
    –URI路径应包含完整的文件夹或名称。例如,如果将前缀URI指定为/CN,则MSDC不会捕获/CNN下的文件。相反,它会在/CN下查找可能不存在的文件。

    –当请求中未指定文件URI时,MSDC将捕获所有文件。
    –示例:用户将前缀设置为/CNN/s1
    http://file-uri.com/abc/file1.txt.
    如果应用程序未在路径中指定文件名,例如。,http://file-uri.com/abc/,MSDC将尝试捕获此路径下的所有文件。
    如果用户将前缀/URI设置为/CNN,MSDC将捕获以该前缀开头的所有文件,例如选定服务上的/CNN/s1/file1.xml,但它与/XYZ/CNN/file2.xml不匹配。
    –可以指定带或不带正斜杠(/)的前缀URI。
    –URI路径应包含完整的文件夹或名称。例如,如果将前缀URI指定为/CN,则MSDC不会捕获/CNN下的文件。相反,它会在/CN下查找可能不存在的文件。
    –当请求中未指定文件URI时,MSDC将捕获所有文件。
    –示例:用户将前缀设置为/CNN/s1
    ◦ MSDC将捕获这些文件:
    · /CNN/s1/s2/1.txt
    · /CNN/s1/s3/s4/s5/1.txt
    · /CNN/s1/1.txt
    ◦ MSDC would not capture these files:
    · /CNN/s2/1.txt
    · /CNN/1.txt
    · /CNN/s1/s2/1.txt

    如果文件捕获成功,MSDC将使用fileAvailable for each captured file响应,并提供以下信息:
    •服务ID–为其捕获文件的文件传递服务的ID。
    •文件–一个FDfile对象,包含捕获文件的所有必需信息。有关FDfile的更多信息,请参阅第9.22节。
    一旦MSDC向应用程序发送文件Available通知,该文件就属于该应用程序。然后,应用程序负责文件和文件删除等操作。
    MSDC下载文件后,如果文件(具有相同的文件名和MDS)再次出现,则不会再次下载该文件。例外情况是,如果文件被deleteFile()、deleteAllCapturedFiles()(见第5.4.4节)或MSDC本身删除。
    建议:一旦应用程序获得文件可用通知,建议应用程序创建文件的副本。如果文件在文件可用通知,MSDC可能会删除该文件。UI应用程序可以还可以在initializeFileDeliveryService并设置存储位置(可选)

    5.4.1.4 调用流程
    5.4.1.4.1 开始文件捕捉

    在这里插入图片描述

    5.4.1.4.2捕捉失败

    ##### 5.4.1.4.3

    5.4.2 停止文件捕捉

    5.4.2.1 接口

    void startFileCapture (int serviceId);
    void startFileCapture (int serviceId,
    String fileURI);
    public void startFileCapture(FileCaptureParams params);
    void stopFileCapture (int serviceId,
    String fileURI);
    void fileDeliveryServiceError(int serviceId,
    int errorCode,
    String message
    void fileDownloadFailure(int serviceHandle,
    String uri);

    5.4.2.2 前置条件

    文件传输初始化连接

    5.4.2.3 描述

    如果应用程序要停止先前启动的文件捕获,则应使用stopFileCapture()。

    5.4.2.4 调用流程

    在这里插入图片描述

    5.4.3 设置存储位置

    5.4.3.1 接口

    public void setStorageLocation(String path)

    5.4.3.2 前置条件

    文件传输初始化连接

    5.4.3.3 描述

    如果应用程序想要更改文件下载位置,可以使用setStorageLocation()。路径必须成为绝对路径。此功能允许应用程序在收到insufficientStorage()或inaccessibleLocation()通知

    5.4.3.4 调用流程

    在这里插入图片描述

    5.4.4 删除捕捉的文件

    5.4.4.1 接口

    int deleteFile (int serviceId, String fileURI);
    int deleteAllCapturedFiles (int serviceId);
    void fileDeliveryServiceError(int serviceId, int errorCode, String message

    5.4.4.2 前置条件

    文件传输模块初始化

    5.4.4.3 描述

    如果应用程序想从设备中删除捕获的文件,可以使用deleteFile()。删除所有捕获的 文件,应用程序可以使用deleteAllCapturedFiles()。

    这些功能可从设备中删除文件,并清除与文件相关的MSDC历史记录。下一个文件显示时,MSDC会下载它。但是,如果应用程序通过直接访问文件来删除文件,

    MSDC不会意识到这一点,也不会再次下载相同的文件。

    有关代码示例,请参见第A.4.3节

    5.4.4.4 调用流程
    5.4.4.4.1 删除文件

    5.4.4.4.2 删除所有文件

    在这里插入图片描述

    5.4.4.4.3 删除一个文件失败

    在这里插入图片描述

    5.4.4.4.4 删除所有文件失败

    在这里插入图片描述

  • 相关阅读:
    Webpack中的Loader和Plugin:理解与使用
    gunicorn 支持如下4种工作模式,Gunicorn“绿色独角兽”
    教程五 在Go中使用Energy创建跨平台GUI - 执行开发者工具方法
    CompletableFuture异步回调
    linux 下 java环境安装
    (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
    浏览器扩展V3开发系列之 chrome.commands 快捷键的用法和案例
    14:00面试,14:06就出来了,问的问题有点变态。。。
    【RocketMQ】如何快速检查RocketMQ集群延迟情况
    Elasticsearch如何设置密码
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/127421196