You need to enable JavaScript to run this app.
导航
内网上传
最近更新时间:2025.04.01 15:09:26首次发布时间:2025.04.01 15:09:26
我的收藏
有用
有用
无用
无用

阅读本文,您可以获取 Go SDK 内网上传资源的接口调用示例,实现快速开发。

调用说明

本文提供的接口调用示例均通过 AK 和 SK 初始化实例。

前提条件

调用接口前,请先完成 Go SDK 的安装及初始化操作。

注意事项

若服务内已经存在同名文件,且您开启了重名覆盖上传,则新上传文件在上传路径及文件名重复时将覆盖同名旧文件。若未开启重名覆盖上传,则新文件上传失败。

调用示例

本节为您介绍内网上传的调用示例。该示例内部依次调用封装了 ApplyVpcUploadInfoCommitImageUpload 接口以及上传逻辑,从而实现完整的文件上传流程。

package main

import (
        "context"
        "fmt"
        "github.com/volcengine/volc-sdk-golang/base"
        imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

// 上传文件
func main_VpcUploadImages() {
        // 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `imagex.NewInstanceWithRegion(区域名)` 显式指定区域
        instance := imagex.DefaultInstance

        instance.SetCredential(base.Credentials{
                AccessKeyID:     "ak",
                SecretAccessKey: "sk",
        })
        //instance.SetHost("open.volcengineapi.com")        // VPC内网调用openapi

        params := &imagex.VpcUploadRequest{
                ServiceId:     "service id",          // 服务 ID
                FilePath:      "your file path",      // 文件路径,与Data二选一
                Data:          nil,                   // 文件数据,与FilePath二选一
                StoreKey:      "your store key",      // 文件存储名
                Prefix:        "your prefix",         // 文件前缀
                FileExtension: "your file extension", // 文件后缀
                ContentType:   "your content type",   // 文件Content-Type
                StorageClass:  "your storage class",  // 文件存储类型
                PartSize:      0,                     // 偏好分片大小,单位为字节
                Overwrite:     false,                 //是否进行上传覆盖
                SkipMeta:      false,                 // 是否跳过元信息
        }

        // 上传文件
        resp, err := instance.VpcUploadImage(context.Background(), params)

        if err != nil {
                fmt.Printf("error %v", err)
        } else {
                fmt.Printf("success %v", resp)
        }
}