将 multipart.File 放入 image.Decode 作为参数

multipart.File的内容如下:“data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...”


我正在尝试将其放入 Image.DecodeConfig() 方法中,如下所示:


import (

    "image"

    "image/jpeg"

    "io"

)


func ImgCheckSize(file io.Reader) (io.Reader, error) {

    config, format, err := image.DecodeConfig(file)

...

错误打印:“图像:未知格式”


我还打印了 multipart.FileHeader.Header,内容如下:


map[Content-Disposition:[form-data; name="img1"; filename="img1"] Content-Type:[application/octet-stream]]

有没有人遇到过这个?任何有用的建议都会有所帮助!非常感谢


元芳怎么了
浏览 156回答 2
2回答

杨魅力

使用以下软件包解决:“github.com/vincent-petithory/dataurl”例如:imgdecoded, _ := dataurl.Decode(imgupload)

慕莱坞森

正如图像包的文档(https://golang.org/pkg/image/92)中所述,您必须先注册要使用的格式:解码任何特定的图像格式需要事先注册解码器功能。注册通常是自动的,作为初始化该格式包的副作用,因此,要解码 PNG 图像,它就足够了导入_“图片/png”在程序的主包中。_ 意味着导入一个包纯粹是为了它的初始化副作用。实现示例: https: //play.golang.org/p/7d1gS7_tdc0import (    "image"    // Package image/jpeg is not used explicitly in the code below,    // but is imported for its initialization side-effect, which allows    // image.Decode to understand JPEG formatted images.     _ "image/jpeg"    "io")func ImgCheckSize(file io.Reader) (io.Reader, error) {    config, format, err := image.DecodeConfig(file)...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go