使用golang怎么实现一个文件上传服务
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,使用golang怎么实现一个文件上传服务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。package mainimpor
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
数据库参考文献外文文献
人大经济论坛是经济类数据库吗
国内网络安全市场占有率
数据库风险
实验用mpp数据库有哪些
易语言数据库可以被共享吗
致远a8数据库字典
分布式数据库中的所有权限
天气软件开发教学视频
网络技术部门的面试题目
对网络安全协议的认识和理解
西安安徽县app软件开发
脏小豆服务器生存骗赞
网络技术流是什么意思
sql数据库只显示一个字段
中兴网络技术支持工程师
banner 图数据库设计
易德网络技术有限公司
我的世界战地服务器
软件开发的对赌协议
成功到达对方服务器该怎么办
江西家用软件开发单价
网络安全最糟糕的20个指标
如何授权数据库的查询更新删除
小班网络安全家园栏
价值先生2020网络安全
江苏智能网络技术创造辉煌
河北弹性云服务器虚拟主机云空间
广州大学信息安全和网络安全
2021数据库系统工程师真题