func uploadTestFile(Client *model.Client, channelId string) ([]string, error) { body := &bytes.Buffer{} writer := multipart.NewWriter(body) part, err := writer.CreateFormFile("files", "test.png") if err != nil { return nil, err } // base 64 encoded version of handtinywhite.gif from http://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever file, _ := base64.StdEncoding.DecodeString("R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=") if _, err := io.Copy(part, bytes.NewReader(file)); err != nil { return nil, err } field, err := writer.CreateFormField("channel_id") if err != nil { return nil, err } if _, err := field.Write([]byte(channelId)); err != nil { return nil, err } if err := writer.Close(); err != nil { return nil, err } if resp, err := Client.UploadPostAttachment(body.Bytes(), writer.FormDataContentType()); err != nil { return nil, err } else { return resp.Data.(*model.FileUploadResponse).Filenames, nil } }