Skip to content

文件处理

上传文件

通过此方法,用户可进行文件上传操作,该操作用于创建实例时,存在“文件型”、“图片型”、“视频型”、“音频型”元素,需进行上传,可进行单个/批量上传。

方法调用

java
DoipReturn upload(
    @RequestParam(value = "handleName", required = false) String handleName,
    @RequestParam(value = "metaHandle") String metaHandle,
    @RequestParam(value = "fileField") String fileField,
    @RequestParam(value = "file") MultipartFile file
);

注意

  • 单个文件上传,不能超过50M;上传文件数量取决于元数据模板中实体元素设定,最大设定不超过50个。
  • 可上传格式如下:
    文件型:doc;docx;xps;dot(word)、xls;xlsx;xlsb;xlsm;csv(excel)、pdf、zip;rar(压缩包)
    音频型:wav;mp3;mp4
    视频型:avi;mov;wmv;flv;mp4
    图片型:jpg;jpe;png;jpeg;gif;tif;tiff;jxr;bmp
    

方法参数

参数类型是否必填最大长度备注示例值
handleNameString-标识88.608.6688/handle_1
metaHandleString-元数据88.608.6688/Meta_test1
fileFieldString-文件属性file
fileMultipartFile-上传的文件

返回参数

参数类型最大长度备注示例值
codeInteger-状态码(详见状态码说明)1
messageString-状态码描述成功
dataObject-返回数据
data.idString-文件id664da3c5802cf826c367b8c4
data.filePathString-文件路径173b5de7-1454-4489-b921-dd6f2fd6d938.md

请求示例

java
/**
 * 上传文件
 */
@Test
void uploadApiTest() throws IOException {
    //获取token url:服务域名 handle:应用标识身份 privateKeyPem:应用标识身份对应的私钥
    OpenApiClient openApiClient = new OpenApiClient(url, handle, privateKeyPem);

    //读取文件
    File file = new File("/Users/dzh/Downloads/chrome/8fb85f17756d46.png");
    //将文件转换成流对象
    FileInputStream fileInputStream = new FileInputStream(file);

    MultipartFile multipartFile = new MockMultipartFile(file.getName(), file.getName(), "application/octet-stream", fileInputStream);
    System.out.println(multipartFile.getName());

    //调用上传文件方法
    DoipReturn doipReturn = openApiClient.getFileApi().upload(null, "88.608.5288/META_07_01", "file", multipartFile);

    log.info("上传文件返回结果:{}", JSONUtil.toJsonStr(doipReturn));
}

响应示例

json
{
    "code": 1,
    "message": "成功",
    "data": {
        "id": "664da3c5802cf826c367b8c4",
        "filePath": "173b5de7-1454-4489-b921-dd6f2fd6d938.md"
    }
}

文件下载

通过此接口,用户可进行文件上传操作,该操作用于查询或实例时,存在“文件型”、“图片型”、“视频型”、“音频型”元素信息,提供用户进行下载。

方法调用

java
Response download(@RequestParam(value = "filePath") String filePath);

注意

  • 该接口下载的文件以流的形式返回,需要通过代码处理流来接收。

方法参数

参数类型是否必填最大长度备注示例值
filePathString-文件路径173b5de7-1454-4489-b921-dd6f2fd6d938.md

返回参数

该接口下载的文件以流的形式返回

请求示例

java
/**
 * 下载文件
 */
@Test
void downloadApiTest() {
    OpenApiClient openApiClient = new OpenApiClient(url, handle, privateKeyPem);

    Response download = openApiClient.getFileApi().download("S3_f99d537d-ed6e-439b-ad2a-0b2824bf53c6.p1");

    log.info("下载文件返回结果:{}", download);
}

Released under the MIT License.