Skip to content
smallPict

SDK ทางการสำหรับ Go

ไลบรารี Go ประสิทธิภาพสูง รองรับ context.Context และความปลอดภัยในการทำงานหลายเธรด

สร้างขึ้นเพื่อไมโครเซอร์วิสที่ต้องการความเร็วสูง ปลอดภัยสำหรับการทำงานแบบ Concurrency และรองรับ context.Context เต็มรูปแบบ


การติดตั้ง

Shell
go get github.com/tuxnoob/smallpict-go

ตัวอย่างโค้ดฉบับสมบูรณ์

Go
package main
import (	"context"	"fmt"	"log"	"os"	"time"
	"github.com/tuxnoob/smallpict-go")
func main() {	// 1. สร้างไคลเอ็นต์	client, err := smallpict.NewClient(		os.Getenv("SMALLPICT_API_KEY"),		os.Getenv("SMALLPICT_SECRET_KEY"),		smallpict.WithTimeout(15*time.Second),	)	if err != nil {		log.Fatalf("ไม่สามารถเริ่มต้นไคลเอ็นต์ได้: %v", err)	}
	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)	defer cancel()
	// 2. อ่านไฟล์ในเครื่อง	fileBytes, err := os.ReadFile("photo.jpg")	if err != nil {		log.Fatalf("ไม่สามารถอ่านไฟล์ได้: %v", err)	}
	// 3. สั่งประมวลผลรูปภาพ	res, err := client.Optimize(ctx, &smallpict.OptimizeRequest{		File:     fileBytes,		Filename: "photo.jpg",		Format:   smallpict.FormatAVIF,		Quality:  80,		MaxWidth: 1920,	})	if err != nil {		log.Fatalf("เกิดข้อผิดพลาดในการประมวลผล: %v", err)	}
	fmt.Printf("URL รูปภาพ: %s\n", res.URL)	fmt.Printf("พื้นที่ที่ประหยัดได้: %.2f%%\n", res.SavingsPercentage)}