github.com/go-swagger/go-swagger@v0.31.0/examples/file-server/upload_file.go (about) 1 //go:build ignore 2 // +build ignore 3 4 package main 5 6 import ( 7 "log" 8 "os" 9 10 "github.com/go-openapi/runtime" 11 "github.com/go-swagger/go-swagger/examples/file-server/client" 12 "github.com/go-swagger/go-swagger/examples/file-server/client/uploads" 13 ) 14 15 func main() { 16 if len(os.Args) < 2 { 17 log.Fatalf("must provide a file name as argument") 18 } 19 20 filename := os.Args[1] 21 22 f, err := os.Open(filename) 23 if err != nil { 24 log.Fatal(err) 25 } 26 27 err = upload(f) 28 if err != nil { 29 log.Fatal(err) 30 } 31 } 32 33 func upload(reader runtime.NamedReadCloser) error { 34 35 config := client.DefaultTransportConfig().WithHost("localhost:8000") 36 37 uploader := client.NewHTTPClientWithConfig(nil, config) 38 39 params := uploads.NewUploadFileParams().WithFile(reader) 40 41 _, err := uploader.Uploads.UploadFile(params) 42 43 return err 44 }