使用golang怎么实现一个文件上传服务
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,使用golang怎么实现一个文件上传服务,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。package mainimpor
千家信息网最后更新 2025年01月31日使用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安全错误
数据库的锁怎样保障安全
网络技术中ftp什么意思
外国服务器搞笑视频
微信公众号那些数据库
电脑系统显示无法连接服务器
维普数据库介绍
gbase8a数据库品牌
电子政务的网络安全论文
0基础怎么学习软件开发
石景山区管理软件开发平台
云服务器 百兆
电脑数据库密码设置与删除
怎么检查代服务器设置
中国电信服务器折旧年限
合适的esg数据库
网络技术员管理制度
软件开发分布式模式
加载数据库脚本出错
mstar数据库
银豹收银云端服务器
购买直销软件开发
北京茁壮网络技术有限公司
网络安全法在法律地位是
税务局服务器未清卡
二萌老师apex在哪个服务器
数据库两个表不同怎么排序
软件开发由作坊式向工程化转变
网络技术岗位说明书
软件开发语言怎么查
服务器里面成员也可以使用的指令
数据库sql语句求平均值