go语言上传文件、读取文件内容和保存文件

使用gin组件

go get -u  github.com/gin-gonic/gin

上传文件、读取文件流和保存文件

上传方法


/*
文件上传
*/
func Upload(c *gin.Context) {
    
    
	file, err := c.FormFile("file")
	if err != nil {
    
    
		//返回错误
		c.JSON(500,gin.H{
    
    "error":"get file info fail "+err.Error()})
	}
	postForm := c.PostForm("password")
	fmt.Println("密码为::::: "+postForm)
	//输出上传时文件名
	fmt.Println("上传文件名:", file.Filename)
	fileContent, _ := file.Open()
	byteContainer, err := ioutil.ReadAll(fileContent)
	fmt.Println("接收到内容为=====::::::::",byteContainer)
	c.SaveUploadedFile(file,"C:\\Users\\ydl\\Desktop\\file\\"+file.Filename)
	c.JSON(http.StatusOK,gin.H{
    
    "ok":"upload file  success "})
}

main方法

	//创建路由
	r :=gin.Default()
	v2 := r.Group("/file")
	{
    
    
		//限制文件大小,默认32M,限制为1M
		r.MaxMultipartMemory = 1 << 20
		//此处写方法名,我的方法在service包下
		v2.POST("/upload",service.Upload)
	}
	r.Run(":8888")

测试结果

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ydl1128/article/details/127701728