"github.com/volcengine/ve-tos-golang-sdk/v2/tos"
type ImageInspectResponse struct {
PicSize int `json:"picSize"`
PicType string `json:"picType"`
Suspicious bool `json:"suspicious"`
SuspiciousBeginByte int `json:"suspiciousBeginByte"`
SuspiciousEndByte int `json:"suspiciousEndByte"`
SuspiciousSize int `json:"suspiciousSize"`
SuspiciousType string `json:"suspiciousType"`
func checkErr(err error) {
if serverErr, ok := err.(*tos.TosServerError); ok {
fmt.Println("Error:", serverErr.Error())
fmt.Println("Request ID:", serverErr.RequestID)
fmt.Println("Response Status Code:", serverErr.StatusCode)
fmt.Println("Response Header:", serverErr.Header)
fmt.Println("Response Err Code:", serverErr.Code)
fmt.Println("Response Err Msg:", serverErr.Message)
fmt.Println("Error:", err)
accessKey = os.Getenv("TOS_ACCESS_KEY")
secretKey = os.Getenv("TOS_SECRET_KEY")
endpoint = "https://tos-cn-beijing.volces.com"
bucketName = "*** Provide your bucket name ***"
ctx = context.Background()
client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))
style := "image/inspect"
out, err := client.GetObjectV2(ctx, &tos.GetObjectV2Input{Bucket: bucketName, Key: imageKey, Process: style})
defer out.Content.Close()
fmt.Println("ContentType:", out.ContentType)
info, err := ioutil.ReadAll(out.Content)
imageInspect := &ImageInspectResponse{}
err = json.Unmarshal(info, imageInspect)
fmt.Println("picSize:", imageInspect.PicSize, " picType:", imageInspect.PicType, " suspicious:", imageInspect.Suspicious)