Gin 使用示例(三十二):下载文件


示例代码:

func main() {
    router := gin.Default()
    router.GET("/dataFromReader", func(c *gin.Context) {
        response, err := http.Get("https://raw.githubusercontent.com/gin-gonic/logo/master/color.png")
        if err != nil || response.StatusCode != http.StatusOK {
            c.Status(http.StatusServiceUnavailable)
            return
        }
    
        reader := response.Body
        contentLength := response.ContentLength
        contentType := response.Header.Get("Content-Type")
    
        extraHeaders := map[string]string{
            "Content-Disposition": `attachment; filename="gopher.png"`,
        }
    
        c.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders)
    })
    router.Run(":8088")
}

访问 /dataFromReader 路由会下载图片到本地。


Vote Vote Cancel Collect Collect Cancel

<< 上一篇: Gin 使用示例(三十一):SecureJSON

>> 下一篇: Gin 使用示例(三十三):静态资源