我正在使用 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()
- 1 回答
- 0 关注
- 213 浏览
添加回答
举报
0/150
提交
取消