1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-12-07 00:26:47 +02:00

сделал folders.go

This commit is contained in:
Nikitin Aleksandr
2023-07-20 15:54:11 +03:00
parent 71fc53b2f8
commit d86504a070
254 changed files with 11087 additions and 7197 deletions

View File

@@ -1,13 +1,16 @@
package openai
import (
"fmt"
"io"
"mime/multipart"
"os"
"path"
)
type FormBuilder interface {
CreateFormFile(fieldname string, file *os.File) error
CreateFormFileReader(fieldname string, r io.Reader, filename string) error
WriteField(fieldname, value string) error
Close() error
FormDataContentType() string
@@ -24,15 +27,28 @@ func NewFormBuilder(body io.Writer) *DefaultFormBuilder {
}
func (fb *DefaultFormBuilder) CreateFormFile(fieldname string, file *os.File) error {
fieldWriter, err := fb.writer.CreateFormFile(fieldname, file.Name())
return fb.createFormFile(fieldname, file, file.Name())
}
func (fb *DefaultFormBuilder) CreateFormFileReader(fieldname string, r io.Reader, filename string) error {
return fb.createFormFile(fieldname, r, path.Base(filename))
}
func (fb *DefaultFormBuilder) createFormFile(fieldname string, r io.Reader, filename string) error {
if filename == "" {
return fmt.Errorf("filename cannot be empty")
}
fieldWriter, err := fb.writer.CreateFormFile(fieldname, filename)
if err != nil {
return err
}
_, err = io.Copy(fieldWriter, file)
_, err = io.Copy(fieldWriter, r)
if err != nil {
return err
}
return nil
}