使用golang怎么实现一个文件上传服务
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,使用golang怎么实现一个文件上传服务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。package mainimpor
千家信息网最后更新 2026年11月01日使用golang怎么实现一个文件上传服务
使用golang怎么实现一个文件上传服务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
package mainimport ( "encoding/json" "io" "math/rand" "net/http" "os" "strconv" "strings" "time")const POS = "."const DIR = "/"const PATH = "image"const HTTP = "https://www.image.com"func getFileName(ext string) string { random := rand.New(rand.NewSource(time.Now().UnixNano())) datetime := time.Now().Format("200612") dstPath := PATH + DIR + datetime dstFile := dstPath + DIR + datetime + strconv.Itoa(random.Int()) + POS + strings.Replace(ext, DIR, POS, 1) _, err := os.Stat(dstPath) res := os.IsNotExist(err) if res == true { os.MkdirAll(dstPath, os.ModePerm) } return dstFile}func uploadFile(w http.ResponseWriter, r *http.Request) { r.ParseMultipartForm(10 << 20) file, handler, err := r.FormFile("myFile") if err != nil { w.WriteHeader(500) return } defer file.Close() fileName := getFileName(handler.Header.Get("Content-Type")) fp, err := os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) if err != nil { w.WriteHeader(500) return } defer fp.Close() size, err := io.Copy(fp, file) if err != nil { w.WriteHeader(500) return } go callUploadResult(w, fileName, size)}func callUploadResult(w http.ResponseWriter, fileName string, size int64) { var list = make(map[string]string) list["image"] = HTTP + DIR + fileName list["size"] = strconv.FormatInt(size/1024, 10) + "KB" list["action"] = "call-upload-result" jsonStr, _ := json.Marshal(list) w.Header().Set("Content-Type", "application/json") w.Write([]byte(jsonStr))}func main() { http.HandleFunc("/upload", uploadFile) http.ListenAndServe("127.0.0.1:8090", nil)}看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
帮助
文件
服务
清楚
内容
对此
文章
新手
更多
知识
行业
资讯
资讯频道
难题
需求
频道
进一
学习
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是科技互联网
互联网新科技
南京欣网互联网络科技有限公司
互联网属科技
亿人帮互联网科技
无锡溥仪互联网科技有限公司
厦门千工互联网科技有限公司
江阴互联网智能科技产品进口
互联网科技大奖都有哪些公司
中国科技创新与世界互联网大会
互联网数据科技专业
高科技互联网套路
互联网公司高科技产品
四川互联网展示科技馆设计
江苏互联网智能科技软件
工业互联网科技创业
互联网科技包装股
科技互联网行业投资研究
马化腾互联网科技教学
北京品多多互联网科技有限公司
广东万易互联网科技有限公司惠州分公司
圆梦互联网科技
礼当家互联网科技
天津摩尔互联网科技
互联网科技logo
无锡溥仪互联网科技有限公司
和信科技工业互联网
科技赋能视角下互联网保险发展
黑科技 体验场景 互联网大会
广东猫王互联网科技有限公司电话