为了账号安全,请及时绑定邮箱和手机立即绑定

如何发送 jpeg.Encode 图像?

如何发送 jpeg.Encode 图像?

Go
小唯快跑啊 2022-05-23 17:41:47
我正在使用 jpeg.Encode 创建图片并想发送它。如何避免创建中间文件?创建并保存文件。  // ...  outFile, err := os.Create("./images/" + name + ".jpg")  if err != nil {    log.Fatal(err)    os.Exit(-1)  }  defer outFile.Close()  buff := bufio.NewWriter(outFile)  err = jpeg.Encode(buff, background, &jpeg.Options{Quality: 90})  if err != nil {    log.Fatal(err)    os.Exit(-1)  }  err = buff.Flush()  if err != nil {    log.Fatal(err)    os.Exit(-1)  }发送文件。  file, err := os.Open("./images/" + name + ".jpg")  if err != nil {    log.Fatal(err)  }  body := &bytes.Buffer{}  writer := multipart.NewWriter(body)  part, err := writer.CreateFormFile("photo", file.Name())  if err != nil {    return nil, err  }  io.Copy(part, file)  if err = writer.Close(); err != nil {    return nil, err  }  resp, err := http.Post(uploadURL, writer.FormDataContentType(), body)  if err != nil {    return nil, err  }  defer resp.Body.Close()如何发送照片而不将其保存在服务器上?
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

只需将part目标传递给jpeg.Encode():


// ...


part, err := writer.CreateFormFile("photo", file.Name())

if err != nil {

    return nil, err

}


err = jpeg.Encode(part, background, &jpeg.Options{Quality: 90})

if err != nil {

    return nil, err

}

if err = writer.Close(); err != nil {

    return nil, err

}


resp, err := http.Post(uploadURL, writer.FormDataContentType(), body)

if err != nil {

    return nil, err

}

defer resp.Body.Close()


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号