Gin -- 发送请求到第三方

1. 示例

func ReaderHandler(ctx *gin.Context) {
	response, err := http.Get(" https://img1.baidu.com/it/u=1960110688 ,1786190632&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281")
	if err != nil || response.StatusCode != http.StatusOK {
		fmt.Println(err.Error())
		ctx.Status(http.StatusServiceUnavailable)
		return
	}
	reader := response.Body
	fmt.Println(reader)
	contentLength := response.ContentLength
	contentType := response.Header.Get("Content-Type")
	extraHeaders := map[string]string{
		"Content-Disposition": `attachment; filename="gopher.png"`,
	}
	// 将文件流返回给前端,前端访问本接口会直接下载刚刚请求的文件流到前端
	ctx.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders)
}

posted @ 2024-01-17 17:06  河图s  阅读(140)  评论(0)    收藏  举报