1 Star 0 Fork 0

糍粑 / funk-open-ai

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
form_builder.go 1002 Bytes
一键复制 编辑 原始数据 按行查看 历史
sashabaranov 提交于 2023-04-08 19:26 . Add form builder (#235)
package openai
import (
"io"
"mime/multipart"
"os"
)
type formBuilder interface {
createFormFile(fieldname string, file *os.File) error
writeField(fieldname, value string) error
close() error
formDataContentType() string
}
type defaultFormBuilder struct {
writer *multipart.Writer
}
func newFormBuilder(body io.Writer) *defaultFormBuilder {
return &defaultFormBuilder{
writer: multipart.NewWriter(body),
}
}
func (fb *defaultFormBuilder) createFormFile(fieldname string, file *os.File) error {
fieldWriter, err := fb.writer.CreateFormFile(fieldname, file.Name())
if err != nil {
return err
}
_, err = io.Copy(fieldWriter, file)
if err != nil {
return err
}
return nil
}
func (fb *defaultFormBuilder) writeField(fieldname, value string) error {
return fb.writer.WriteField(fieldname, value)
}
func (fb *defaultFormBuilder) close() error {
return fb.writer.Close()
}
func (fb *defaultFormBuilder) formDataContentType() string {
return fb.writer.FormDataContentType()
}
Go
1
https://gitee.com/pc_859107393/funk-open-ai.git
git@gitee.com:pc_859107393/funk-open-ai.git
pc_859107393
funk-open-ai
funk-open-ai
v1.9.2

搜索帮助