我将golang中的一个图像加载到该图像.图像格式,但我得到了这个错误:

"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"

推荐答案

不幸的是,您的代码(在问题的原始版本中)不完整,特别是缺少URL和导入语句作为关键信息.知道URL很重要,因为它可能根本不会返回图像.进口声明很重要,因为引用the documentation of image:

解码任何特定的图像格式都需要事先配准

import _ "image/png" 

在程序的主包中.意思是

这两个错误(错误的URL、缺少导入)都可以解释您看到的错误.

如果两者都正确完成,代码对我来说很好,没有任何更改.

Go相关问答推荐

迭代项列表时如何超时并发调用

需要类型[]*structpb.Value(GCP Golang客户端库;aiPlatform)

Golang SDK for DynamoDB:ReturnValuesOnConditionCheckFailure在条件chcek失败发生时不返回条件的详细信息

从MySQL/GO表获取行数据

如何在 zap 记录器库中使用自定义时间函数

Go 是否提供了标准或事实上的方法来处理单个语句中的错误(即内联错误处理)?

在 Windows 11 上运行 go mod tidy 时的 gitlab 权限问题

如何在 fyne-io/fyne 中设置文本的字母间距?

我无法使用反向代理更改主机标头

此 Golang 程序中的同步问题

当客户端同时是服务器时,需要什么 mTLS 证书?

如何在 Go 中编写示例测试?

为什么互斥量比 golang 中的通道慢?

如何使用 go-playground/validator 编写 snake case 绑定标签?

使用 Golang SQL 驱动程序连接到snowflake

Golang prometheus 显示自定义指标

在 Golang 中获取谷歌云服务帐户的访问令牌?

在 Golang 中使用 OR 条件验证 struct 的两个字段

使用 LoadLibraryA(path_to_dll) 加载 DLL 会将文件描述符 0、1 和 2 的继承句柄标志 (HANDLE_FLAG_INHERIT) 从 1 更改为 0

如何解决在mac m1中运行gcc失败退出状态1?