小文件上传编码

小文件上传编码

公开合同

POST /v1/creative/assets 接收JSON,二进制字段 data 是base64字符串;它不是multipart。实际调用需要端点允许的用户/组织身份、creative:write及适用项目参数,详见API Reference。编码helper不执行网络请求,也不负责创建项目。

helper只接受严格小于 4 MiB 的内存字节;达到或超过边界会拒绝。空字节、NUL及非UTF8数据都按二进制编码。以下示例输出 AP8=,安装见快速开始。

TypeScript

import { encodeUploadData } from "@appforges/sdk/runtime/upload";
console.log(encodeUploadData(new Uint8Array([0, 255])));

Python

from appforges import encode_upload_data
print(encode_upload_data(bytes([0, 255])))

Go

package main
 
import (
    "fmt"
    "log"
    "github.com/appforges/appforges-sdk-go/runtime"
)
 
func main() {
    data, err := runtime.EncodeUploadData([]byte{0, 255})
    if err != nil { log.Fatal(err) }
    fmt.Println(data)
}

放入JSON请求

编码结果放入生成的UploadAsset请求 data 字段,其他字段按API Reference填写。JSON下面只展示编码字段:

{"data": "AP8="}

当前公开REST没有大文件预签名上传/确认接口。不要将资产访问URL的重签当成上传URL。大文件接入需另行确认可用服务合同;不把本例直接套到4MiB以上文件。

写请求的重试和 X-Idempotency-Key 见错误与重试。