package main
import (
"fmt"
"net/http"
"github.com/sagoo-cloud/nexframe/os/file"
)
func main() {
config := file.UploadConfig{
Dir: "./uploads",
Format: "2006/01/02/",
MaxSize: 5 * 1024 * 1024, // 5MB
AllowedExt: []string{".jpg", ".png", ".gif"},
Watermark: &file.WatermarkConfig{
Path: "./watermark.png",
Padding: 10,
Pos: file.BottomRight,
},
}
handler, err := file.NewFileHandler(config)
if err != nil {
panic(err)
}
http.HandleFunc("/upload", func(w http.ResponseWriter, r *http.Request) {
results, err := handler.Upload("file", r)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
for _, result := range results {
if result.Error != nil {
fmt.Fprintf(w, "文件上传失败:%v\n", result.Error)
} else {
fmt.Fprintf(w, "文件上传成功:%s\n", result.Filename)
}
}
})
fmt.Println("服务器启动在 :8080 端口")
http.ListenAndServe(":8080", nil)
}