file_api.md 25 KB

dmp-file接口

前端使用引导

1.本地安装(版本号:ISC)

npm install dmp-file --save

2.使用方法

import { uploadFile } from 'dmp-file'

/* @param url 文件服务地址 例如‘http://develop.persagy.com/dmp-file’
@param groupCode 集团编码 例如‘YL’
@param file  文件 例如‘input.files[0]’
@param func 回调函数 默认console.log步骤 
* { 回调函数返回值
*  msg:'',
*  chunkCount:1,
*  partNumber:0
* }
*/

uploadFile('http://develop.persagy.com/dmp-file', 'YL', event.target.files[0], func)

后端使用引导

1.引入jar坐标(Maven方式)

<repository>
	<id>persagy</id>
	<url>http://47.93.132.139:8081/nexus/content/repositories/persagy</url>
</repository>

<dependency>
    <groupId>com.persagy</groupId>
	<artifactId>dmp-file-starter</artifactId>
    <version>1.0.0</version>
</dependency>

2.使用如下实例代码进行文件上传

  FileInfo fileInfo = FileInfoCreator.of(groupCode, businessId, appName, fileName);
  // 可对fileInfo属性额外配置。如有效期等
  FileStorageHelper.uploadFile(fileInfo, inputStream);

3.使用如下实例代码进行文件下载

 // 通过文件id获取文件流,当文件url不存在时会抛出系统资源异常的错误
 FileStorageHelper.downloadStream(fileId);
 或者
 // 1.根据文件id获取文件下载地址
 FileInfo info = FileStorageHelper.downloadUrl(fileId);
 // 2.通过http请求获取文件流
 IoUtil.toStream(HttpUtil.downloadBytes(info.getFileDownloadUrl()));

文件管理接口

41001 保存文件信息

接口

http://localhost:8831/dmp-file/file/insert

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "groupCode": "PG",
  "fileName": "major",
  "fileType": "专业",
  "fileBucket": "Testing",
  "filePath":12,
  "fileSize":"**",
  "businessId":"20210813000000",
  "expireDate":"***"
}
字段 是否必须 字段说明
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限

成功例子

{
    "result": "success",
    "data": {
      "id": "dev_1",
      "groupCode": "PG",
      "fileName": "major",
      "fileType": "专业",
      "fileBucket": "Testing",
      "filePath":12,
      "fileSize":"**",
      "businessId":"20210813000000",
      "expireDate":"***",
      "creationTime": "20210813000000",
      "creator": "wdl",
      "modifiedTime": "20210813000000",
      "modifier": "wdl",
      "valid": 1
    },
    "count": 26
}
字段 是否必有 字段说明
id 32位UUID
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限
creationTime 创建时间,格式为yyyyMMddHHmmss
creator 创建人账号id
modifiedTime 最后更新时间,格式为yyyyMMddHHmmss
modifier 最后更新账号id
valid 有效状态,0-无效,1-有效

接口修改记录

操作时间 操作 操作内容
2021年8月17日10:39:56 新增 新增接口

41002 更新文件信息

接口

http://localhost:8831/dmp-file/file/update

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
    "id": "dev_1",
    "groupCode": "PG",
    "fileName": "major",
    "fileType": "专业",
    "fileBucket": "Testing",
    "filePath":12,
    "fileSize":"**",
    "businessId":"20210813000000",
    "expireDate":"***",
    "creationTime": "20210813000000",
    "creator": "wdl",
    "modifiedTime": "20210813000000",
    "modifier": "wdl",
    "valid": 1
}
字段 是否必须 字段说明
id 32位UUID
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限
creationTime 创建时间,格式为yyyyMMddHHmmss
creator 创建人账号id
modifiedTime 最后更新时间,格式为yyyyMMddHHmmss
modifier 最后更新账号id
valid 有效状态,0-无效,1-有效

成功例子

{
    "result": "success",
    "data": {
      "id": "dev_1",
      "groupCode": "PG",
      "fileName": "major",
      "fileType": "专业",
      "fileBucket": "Testing",
      "filePath":12,
      "fileSize":"**",
      "businessId":"20210813000000",
      "expireDate":"***",
      "creationTime": "20210813000000",
      "creator": "wdl",
      "modifiedTime": "20210813000000",
      "modifier": "wdl",
      "valid": 1
    },
    "count": 26
}
字段 是否必有 字段说明
id 32位UUID
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限
creationTime 创建时间,格式为yyyyMMddHHmmss
creator 创建人账号id
modifiedTime 最后更新时间,格式为yyyyMMddHHmmss
modifier 最后更新账号id
valid 有效状态,0-无效,1-有效

接口修改记录

操作时间 操作 操作内容
2021年8月17日10:39:56 新增 新增接口

41003 删除文件信息

接口

http://localhost:8831/dmp-file/file/delete

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

"***"
字段 是否必须 字段说明
id 32位UUID

成功例子

{
    "result": "success"
}

接口修改记录

操作时间 操作 操作内容
2021年8月17日10:43:38 新增 新增接口

41004 根据文件id查找文件信息

接口

http://localhost:8831/dmp-file/file/load

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

"***"
字段 是否必须 字段说明
id 32位UUID

成功例子

{
    "result": "success",
    "data": {
      "id": "dev_1",
      "groupCode": "PG",
      "fileName": "major",
      "fileType": "专业",
      "fileBucket": "Testing",
      "filePath":12,
      "fileSize":"**",
      "businessId":"20210813000000",
      "expireDate":"***",
      "creationTime": "20210813000000",
      "creator": "wdl",
      "modifiedTime": "20210813000000",
      "modifier": "wdl",
      "valid": 1
    },
    "count": 26
}
字段 是否必有 字段说明
id 32位UUID
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限
creationTime 创建时间,格式为yyyyMMddHHmmss
creator 创建人账号id
modifiedTime 最后更新时间,格式为yyyyMMddHHmmss
modifier 最后更新账号id
valid 有效状态,0-无效,1-有效

接口修改记录

操作时间 操作 操作内容
新增 新增接口

41005 根据业务应用id查找文件信息

接口

http://localhost:8831/dmp-file/file/queryByBusiness

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

"***"
字段 是否必须 字段说明
id 32位UUID

成功例子

{
    "result": "success",
    "data": [
        {
          "id": "dev_1",
          "groupCode": "PG",
          "fileName": "major",
          "fileType": "专业",
          "fileBucket": "Testing",
          "filePath":12,
          "fileSize":"**",
          "businessId":"20210813000000",
          "expireDate":"***",
          "creationTime": "20210813000000",
          "creator": "wdl",
          "modifiedTime": "20210813000000",
          "modifier": "wdl",
          "valid": 1
        }
    ],
    "count": 26
}
字段 是否必有 字段说明
id 32位UUID
groupCode 集团编码:租户
fileName 文件名称:显示用
fileType 文件类型:0-文件,1-目录
fileBucket 文件分组:默认为应用名
filePath 文件路径:含文件名称 - 对应文件存储路径
fileSize 文件大小
businessId 关联业务Id
expireDate 保留期限
creationTime 创建时间,格式为yyyyMMddHHmmss
creator 创建人账号id
modifiedTime 最后更新时间,格式为yyyyMMddHHmmss
modifier 最后更新账号id
valid 有效状态,0-无效,1-有效

接口修改记录

操作时间 操作 操作内容
2021年8月17日10:46:06 新增 新增接口

41006 获得断点上传文件的分片信息

接口

http://localhost:8831/dmp-file/file/initChunkUpload?groupCode=YL&userId=0

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "fileMd5":"***",
  "fileName":"***",
  "chunkCount":3
}
字段 是否必须 字段说明
fileMd5 文件内容的MD5值
fileName 文件名称
chunkCount 文件的分片数,文件切片的算子必须大于5M,且每个分片的大小不能小于5M

成功例子

{
    "result": "success",
    "data": {
          "id": "123456",
          "uploadCode": 200,
          "content": [
          	{
          	  "partNumber":1,
          	  "uploadUrl":"http://...,调用时使用的是PUT请求"
          	}
          ]
    }
}
字段 子字段 是否必有 字段说明
id uploadCode为200会有值.
uploadCode 文件上传标识
200-秒传
202-断点续传且文件分片均已上传
203-断点续传
content uploadCode为203会有值
partNumber 分片序号
uploadUrl 文件上传URL
使用该url直接上传文件到文件服务器

接口修改记录

操作时间 操作 操作内容
2021年10月23日14:52:11 新增 新增接口

41007 合并上传的断点续传文件

接口

http://localhost:8831/dmp-file/file/composeFile?groupCode=YL&userId=0

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "fileMd5":"***",
  "fileName":"***",
  "fileBucket":"ADM"
}
字段 是否必须 字段说明
fileMd5 文件内容的MD5值
fileName 文件名称
fileBucket 存储空间名称
允许字符:小写字母、连字符、数字
长度为3至63
开头和结尾必须是字母或数字

成功例子

{
    "result": "success",
    "data": {
       "id": "123456"
    }
}
字段 是否必有 字段说明
id 文件id

接口修改记录

操作时间 操作 操作内容
2021年10月23日15:04:14 新增 新增接口

41008 获得文件上传信息

接口

http://localhost:8831/dmp-file/file/initSingleUpload?groupCode=YL&userId=0

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "fileMd5":"***",
  "fileName":"***",
  "fileBucket":"adm",
  "fileSize":10240
}
字段 是否必须 字段说明
fileMd5 文件内容的MD5值
fileName 文件名称
fileBucket 存储空间名称
允许字符:小写字母、连字符、数字
长度为3至63
开头和结尾必须是字母或数字
fileSize 文件内容字节长度

成功例子

{
    "result": "success",
    "data": {
          "id": "123456",
          "uploadCode": 200,
          "content": [
          	{
          	  "partNumber":1,
          	  "uploadUrl":"http://...,调用时使用的是PUT请求"
          	}
          ]
    }
}
字段 子字段 是否必有 字段说明
id 文件id
uploadCode 文件上传标识
200-秒传
201-单个文件上传
content uploadCode为201会有值
partNumber 分片序号
uploadUrl 文件上传URL
使用该url直接上传文件到文件服务器

接口修改记录

操作时间 操作 操作内容
2021年10月23日14:52:11 新增 新增接口

41009 获得文件下载信息

接口

http://localhost:8831/dmp-file/file/initFileDownload?groupCode=YL&userId=0

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "fileId":"***"
}
字段 是否必须 字段说明
fileId 文件id

成功例子

{
    "result": "success",
    "data": {
        "id": "1451771582172012545",
        "groupCode": "YL",
        "fileName": "572573a50fed51c18a3decbe46c1f599.jpeg",
        "fileType": "0",
        "fileBucket": "adm",
        "fileSize": 841926,
        "fileMd5": "ebda7668886ceec6fc11997844d75ff3",
        "businessId": "1451771580297158658",
        "fileDownloadUrl": "http://192.168.100.102:31335/adm/YL/20211023/572573a50fed51c18a3decbe46c1f599.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=persagy%2F20211023%2FGM%2B8%2Fs3%2Faws4_request&X-Amz-Date=20211023T071455Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=20db5a336991ba4a706e67e6b3154e897981f55481981d73805181100574f1f9,调用时使用的是PUT请求"
    }
}
字段 是否必有 字段说明
id 文件id
groupCode 集团编码
fileName 文件名称
fileType 文件类型,0-文件,1-文件夹
fileBucket 存储空间名称
fileSize 文件长度,单位为字节
fileMd5 文件内容的MD5值
businessId 文件对应的业务id
fileDownloadUrl 文件下载地址

接口修改记录

操作时间 操作 操作内容
2021年10月23日15:18:11 新增 新增接口

41010 根据文件id批量获取文件下载信息

接口

http://localhost:8831/dmp-file/file/queryFetchUrlsByFileIds?groupCode=XG&userId=0

请求方式

POST请求

RequestHeader

key value
Content-Type application/json

RequestParam(URL中的Path参数)

字段 是否必须 字段说明
userId 用户id
groupCode 集团编码
projectId 项目id
appId 应用id

参数例子

{
  "fileIds":["***"]
}
字段 是否必须 字段说明
fileId 文件id

成功例子

{
    "result": "success",
    "data": {
        "文件id": "http://192.168.100.102:31335/adm/YL/20211023/572573a50fed51c18a3decbe46c1f599.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=persagy%2F20211023%2FGM%2B8%2Fs3%2Faws4_request&X-Amz-Date=20211023T071455Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=20db5a336991ba4a706e67e6b3154e897981f55481981d73805181100574f1f9,调用时使用的是PUT请求"
    }
}
字段 是否必有 字段说明
文件id 传参的文件id,值为文件下载地址

接口修改记录

操作时间 操作 操作内容
2021年12月31日15:24:46 新增 新增接口