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)}