更新时间:2024-07-18 GMT+08:00
分享

上传文件

功能介绍

将本地文件上传到存储中。使用该API上传文件,默认只会上传到连接器下配置的第一个桶中。待上传的文件可以是文本文件、图片、视频等任何类型。

URI

POST AstroZero域名/u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/putobject?object=X

表1 路径参数

参数

是否必选

参数类型

描述

connector_type

String

参数解释

连接器的类型。

约束限制

不涉及。

取值范围

  • obs:与OBS对接的连接器。
  • minio:与MINIO对接的连接器。
  • objectstorageproxy:对象存储代理类型。

默认取值

不涉及。

connector_name

String

参数解释

连接器实例的名称,即创建连接器时设置的连接器实例名。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

object

String

参数解释

待上传文件所在桶里的全路径,包含文件名、文件类型、上传到桶里的路径。不携带路径时,表示上传到桶的根目录下。

例如:取值为“a/b/c/1.txt”,表示将文件“1.txt”上传到桶的“a/b/c”路径下。如果桶中不存在该路径,会创建该路径。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

请求参数

请求中的body类型,按照“multipart/form-data”格式。

表2 请求参数

参数

是否必选

参数类型

描述

dir

String

参数解释

上传文件在桶中的目录。

约束限制

不涉及。

取值范围

不涉及。

默认取值

如果为空,则表示桶的根目录。

acl

String

参数解释

上传文件的访问控制权限。

约束限制

不涉及。

取值范围

  • private:私有。
  • public-read:公共读。
  • public-read-write:公共读写。
  • default:和桶配置的权限一致。

默认取值

不配置,和桶配置的权限一致。

object

String

参数解释

待上传的文件数据,包含文件名和文件内容。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

响应参数

表3 响应参数说明

参数

参数类型

描述

resCode

String

参数解释

返回码。

取值范围

如果返回“0”代表请求成功,其他错误码说明请参考错误码

resMsg

String

参数解释

返回消息。

取值范围

如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。

result

Object

参数解释

如果请求成功,返回上传文件在桶中的路径。

请求示例

已创建好如图1所示的OBS类型连接器,连接器实例名称为“命名空间__TestOBS”,向该OBS桶的“a/b/c”路径下上传“1.txt”文件。调用API上传文件,只能上传到连接器配置的第一个桶中。

图1 OBS连接器实例
POST https://AstroZero域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/putobject?object=a/b/c/1.txt

请求参数中设置“multipart/form-data”格式的object,即要上传的文件数据。

图2 设置请求参数

上述操作执行完成后,在OBS桶中可查看到“a/b/c”路径下成功上传了“1.txt”文件。

图3 上传结果

响应示例

{
	"resCode": "0",
	"resMsg": "成功",
	"result": {
		"object": "a/b/c/1.txt"
	}
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

相关文档