golang怎么直接返回图片

admin 阅读:111 2024-05-28
在 go 中,可以通过两种方法直接返回图片:使用 image/jpeg 包,将图片文件内容写入响应体;使用 http.servefile 函数,直接返回图片文件。

golang怎么直接返回图片

如何在 Go 中直接返回图片

在 Go 中,可以通过以下两种方法直接返回图片:

方法 1:使用 image/jpeg 包

package main

import (
    "image/jpeg"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        // 打开图片文件
        file, err := os.Open("image.jpg")
        if err != nil {
            log.Fatal(err)
        }
        defer file.Close()

        // 将文件内容写入响应体
        _, err = jpeg.Encode(w, file, nil)
        if err != nil {
            log.Fatal(err)
        }
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

方法 2:使用 http.ServeFile 函数

package main

import (
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        // 直接返回图片文件
        http.ServeFile(w, r, "image.jpg")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!