从 golang 中的 url 加载图像

我将 golang 中的图像加载到 image.Image 格式,但出现此错误:


"image: unknown format"

这是我的功能:


import "image"


url := "https://i.imgur.com/m1UIjW1.jpg"

func loadImageFromURL(URL string) (image.Image, error) {

    //Get the response bytes from the url

    response, err := http.Get(URL)

    if err != nil {

        return nil, err

    }

    defer response.Body.Close()


    if response.StatusCode != 200 {

        return nil, errors.New("received non 200 response code")

    }


    img, _, err := image.Decode(response.Body)

    if err != nil {

        return nil, err

    }


    return img, nil

}

缺少的是这个导入:


import _ "image/jpeg"


湖上湖
浏览 201回答 1
1回答

守着星空守着你

不幸的是,您的代码(在您问题的原始版本中)不完整,特别是它缺少 URL 和您的导入语句作为关键信息。了解 URL 很重要,因为它可能根本不返回图像。import 语句很重要,因为引用image 的文档:解码任何特定的图像格式都需要事先注册解码器功能。注册通常是自动的,作为初始化该格式包的副作用,因此,要解码 PNG 图像,它就足够了import _ "image/png"在程序的主包中。_ 表示纯粹为了初始化副作用而导入包。这两个错误(错误的 URL、缺少导入)都可以解释您看到的错误。如果两者都正确完成,则代码无需更改即可正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP