文档

CreateFileDetectUploadUrl - 获取文件上传参数

更新时间:

获取文件上传参数。

接口说明

通过此接口获取文件上传参数。如果返回参数中的 FileExist 的值为 true,表示待检测文件在云端已存在,不需要再上传,可以直接推送检测。如果 FileExist 的值为 false,需要用此接口返回的参数,通过表单上传的方式将文件上传至指定存储位置。

表单上传服务由 OSS 产品提供,请参考表单上传

文件检测相关接口均包含 HashKey 参数,表示文件唯一标识,目前仅支持文件完整内容的十六进制 md5 值,请在使用接口前计算该值。

计算文件内容的十六进制 md5 值可以参考以下两个步骤:

1.使用 MD5 算法对数据进行加密,生成 128 位的散列值。现有工具库包括 Java 的 MessageDigest 工具、Python 的 hashlib 库等。

2.将生成的散列值转换为 16 进制字符串形式。现有工具库包括 Java 的 Codec 工具、Python 的 hex 函数等。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
yundun-sas:CreateFileDetectUploadUrlWrite
  • 全部资源
    *

请求参数

名称类型必填描述示例值
HashKeyListarray

文件标识。目前仅支持 MD5。列表最多传入 100 个元素。

说明 HashKeyListHashKeyContextList 不能同时为空。
string

文件标识。目前仅支持 MD5。

0a212417e65c26ff133cfff28f6c****
Typeinteger

文件类型。取值:

  • 0:不确定的文件类型
  • 1:二进制文件
  • 2:WebShell 文件
  • 4:脚本文件
说明 如果不确定文件类型,将该参数的值设置为 0
0
HashKeyContextListobject []

文件标识。目前仅支持 MD5。列表最多传入 100 个元素。

说明 HashKeyListHashKeyContextList 不能同时为空。
HashKeystring

文件 HASH。

30319dd5cee8f894766e479cac170da0
FileSizeinteger

文件大小。如果文件大小超过限制,将不会返回上传参数。单位:字节。

2698557

返回参数

名称类型描述示例值
object
RequestIdstring

本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

09969D2C-4FAD-429E-BFBF-9A60DEF8BF6F
UploadUrlListobject []

文件上传需要的参数集合。

PublicUrlstring

文件上传地址的公网 EndPoint。

http://example.com
InternalUrlstring

文件上传地址的内网 EndPoint。

http://example.com
Expirestring

上传参数过期的时间戳,单位为毫秒。

1658562101370
Contextobject

上传签名信息。

AccessIdstring

文件存储位置的 AccessKey。

LTAI4G1mgPbjvGQuiV1X****
Policystring

文件上传的限制 Policy,如文件大小。

eyJleHBpcmF0aW9uIjoiMjAyMi0wNy0yM1QxMDo1ODoxMC****
Signaturestring

文件上传的签名。

wDhPgVdnY/bkKFYcYFl+4crl****
OssKeystring

文件在 OSS Bucket 中的存储 key。

1/2022/06/23/15/41/16559701077444693a0c6-33b2-4cc2-a99f-9f38b8b8****
FileExistboolean

文件是否存在。取值:

  • true:文件已存在,不需要上传。
  • false:文件不存在,需要上传。
false
HashKeystring

文件标识。

0a212417e65c26ff133cfff28f6c****
Codestring

结果代码,200 表示成功,若为别的值则表示失败,调用方可根据此字段判断失败原因。

200
Messagestring

错误码的详细信息。

successful

示例

正常返回示例

JSON格式

{
  "RequestId": "09969D2C-4FAD-429E-BFBF-9A60DEF8BF6F",
  "UploadUrlList": [
    {
      "PublicUrl": "http://example.com",
      "InternalUrl": "http://example.com",
      "Expire": "1658562101370",
      "Context": {
        "AccessId": "LTAI4G1mgPbjvGQuiV1X****",
        "Policy": "eyJleHBpcmF0aW9uIjoiMjAyMi0wNy0yM1QxMDo1ODoxMC****",
        "Signature": "wDhPgVdnY/bkKFYcYFl+4crl****",
        "OssKey": "1/2022/06/23/15/41/16559701077444693a0c6-33b2-4cc2-a99f-9f38b8b8****"
      },
      "FileExist": false,
      "HashKey": "0a212417e65c26ff133cfff28f6c****",
      "Code": "200",
      "Message": "successful"
    }
  ]
}

错误码

HTTP status code错误码错误信息描述
400RequestTooFrequentlyRequest too frequently, please try again later请求太频繁,请稍后再试
400InvalidApiDetectTypeUnsupported Api Detect Type.不支持的文件类型。
403NoPermissioncaller has no permission当前操作未被授权,请联系主账号在RAM控制台进行授权后再执行操作。
500ServerErrorServerError服务故障,请稍后重试!
500SystemBusySystem busy, please try again later.系统繁忙,请稍后重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-06-19OpenAPI 描述信息更新、OpenAPI 错误码发生变更看变更集
变更项变更内容
API 描述OpenAPI 描述信息更新
错误码OpenAPI 错误码发生变更
    删除错误码:400
    删除错误码:500
2022-08-22OpenAPI 错误码发生变更、OpenAPI 入参发生变更、OpenAPI 返回结构发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 400 变更
    删除错误码:500
入参OpenAPI 入参发生变更
    新增入参:HashKeyContextList
出参OpenAPI 返回结构发生变更
2022-08-22OpenAPI 错误码发生变更、OpenAPI 入参发生变更、OpenAPI 返回结构发生变更看变更集
变更项变更内容
错误码OpenAPI 错误码发生变更
    错误码 400 变更
    删除错误码:500
入参OpenAPI 入参发生变更
    新增入参:HashKeyContextList
出参OpenAPI 返回结构发生变更
  • 本页导读 (1)
文档反馈