跳到主要内容
版本:1.3.0

上传模块

对接各资源存储服务,提供上传和资源访问的通道,可快速定制扩展。

API

资源上传

POST /api/file/upload

Request

名称含义类型是否必填默认值
file资源FileY
channel上传类别,由服务端定义StringY

Response

名称含义类型
key资源标识String
url资源地址String

示例

{
code: 200,
data: {
key: '',
url: ''
}
}

资源获取

POST /api/file/getUrl

Request

名称含义类型是否必填默认值
channel上传类别,由服务端定义StringY
key资源标识StringY

Response

名称含义类型
key资源标识String
url资源地址String

示例

{
code: 200,
data: {
key: '',
url: ''
}
}

上传服务

B 端和 C 端不用的应用场景对于资源存储的公私有要求不同,通过配置管理提供不同的能力,server/src/modules/file/config/index.ts

...

const ALI_OSS_CONFIG = {
FILE_STORAGE_PROVIDER: 'ali-oss',
IS_PRIVATE_READ: false,
FILE_KEY_PREFIX: 'userUpload/{surveyPath}', // 文件key的前缀,会根据此处配置校验body的参数
NEED_AUTH: true, // 是否需要登录
LINK_EXPIRY_TIME: '2h',

ACCESS_KEY: '', // your_access_key
SECRET_KEY: '', // your_secret_key
BUCKET: '', // your_bucket
REGION: '',
ENDPOINT: '', // endpoint
USE_SSL: false, // useSSL
};

...

export const channels = {
upload: 'SERVER_LOCAL_CONFIG', // 开源工程如图片上传题、文件上传等功能,将基于本地服务进行资源存储和使用
};

export const uploadConfig = {
SERVER_LOCAL_CONFIG,
QINIU_CONFIG,
ALI_OSS_CONFIG,
MINIO_CONFIG,
};

目前提供的 channel:本地服务、alioss、minio、qiniu,代码均已写好,可自行配置账号即可使用。

🌀NOTE:开源工程如图片上传题、文件上传等功能,将基于本地服务进行资源存储和使用,投入生产应用的服务请大家选择适合的资源管理服务