golang 上传,下载图片

时间:2025-03-03 08:50:11
package main; import ( "fmt" "io" "io/ioutil" "os" "path" "net/http" "errors" "strings" ) func main() { ("/upload/", uploadHandle) // 上传 ("/uploaded/", showPicHandle) //显示图片 err := ("0.0.0.0:4400", nil) (err) } // 上传图像接口 func uploadHandle (w , req *) { ().Set("Content-Type", "text/html") () if != "POST" { ([]byte(html)) } else { // 接收图片 uploadFile, handle, err := ("image") errorHandle(err, w) // 检查图片后缀 ext := (()) if ext != ".jpg" && ext != ".png" { errorHandle(("只支持jpg/png图片上传"), w); return //defer (2) } // 保存图片 ("./uploaded/", 0777) saveFile, err := ("./uploaded/" + , os.O_WRONLY|os.O_CREATE, 0666); errorHandle(err, w) (saveFile, uploadFile); defer () defer () // 上传图片成功 ([]byte("查看上传图片: <a target='_blank' href='/uploaded/" + + "'>" + + "</a>")); } } // 显示图片接口 func showPicHandle( w , req * ) { file, err := ("." + ) errorHandle(err, w); defer () buff, err := (file) errorHandle(err, w); (buff) } // 统一错误输出接口 func errorHandle(err error, w ) { if err != nil { ([]byte(())) } } const html = `<html> <head></head> <body> <form method="post" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" /> </form> </body> </html>`