@@ -279,28 +279,30 @@ func (c *Client) executePaginated(method string, urlStr string, text string, pag
279279 return result , nil
280280}
281281
282- func (c * Client ) executeFileUpload (method string , urlStr string , filePath string , fileName string , fieldname string , params map [string ]string ) (interface {}, error ) {
283- fileReader , err := os .Open (filePath )
284- if err != nil {
285- return nil , err
286- }
287- defer fileReader .Close ()
288-
282+ func (c * Client ) executeFileUpload (method string , urlStr string , files []File , params map [string ]string ) (interface {}, error ) {
289283 // Prepare a form that you will submit to that URL.
290284 var b bytes.Buffer
291285 w := multipart .NewWriter (& b )
292286
293287 var fw io.Writer
294- if fw , err = w .CreateFormFile (fieldname , fileName ); err != nil {
295- return nil , err
296- }
288+ for _ , file := range files {
289+ fileReader , err := os .Open (file .Path )
290+ if err != nil {
291+ return nil , err
292+ }
293+ defer fileReader .Close ()
297294
298- if _ , err = io .Copy (fw , fileReader ); err != nil {
299- return nil , err
295+ if fw , err = w .CreateFormFile (file .Name , file .Name ); err != nil {
296+ return nil , err
297+ }
298+
299+ if _ , err = io .Copy (fw , fileReader ); err != nil {
300+ return nil , err
301+ }
300302 }
301303
302304 for key , value := range params {
303- err = w .WriteField (key , value )
305+ err : = w .WriteField (key , value )
304306 if err != nil {
305307 return nil , err
306308 }
0 commit comments