Gin 中无法打印上传参数(Content-Type="multipart/form-data")的原因及解决方案
在 Gin 框架中,无法直接打印上传参数(Content-Type="multipart/form-data")的原因是 Gin 的默认日志中间件不会打印请求体(request body),而上传的文件是作为请求体的一部分发送的。默认情况下,Gin 的日志中间件只会打印请求方法、路径、状态码和执行时间等基本信息。如果想打印上传参数,需要自定义日志中间件来处理请求体。以下是一个自定义的 Gin 日志中间件示例,可以打印上传参数:go func Logger() gin.HandlerFunc { return func(c *gin.Context) { // 打印请求方法和路径 fmt.Println("Request:", c.Request.Method, c.Request.URL.Path) // 打印上传参数 err := c.Request.ParseMultipartForm(32 << 20) // 设置最大内存为 32MB if err == nil { for key, value := range c.Request.MultipartForm.Value { fmt.Printf("Key: %s, Value: %s ", key, value) } } // 继续处理请求 c.Next() } } 然后,在路由中使用该中间件:go router := gin.Default() router.Use(Logger()) // 其他路由定义 使用上述自定义的日志中间件,可以在控制台上打印上传参数。
原文地址: https://www.cveoy.top/t/topic/pHdU 著作权归作者所有。请勿转载和采集!