code: func MultiPartBody(paramName, filename string, fileRef io.Reader, params map[string]string) (body io.ReadWriter, contentType string, err error) {
  	var part io.Writer
  
  	body = &bytes.Buffer{}
  	writer := multipart.NewWriter(body)
  
  	if part, err = writer.CreateFormFile(paramName, filename); err == nil {
  
  		if _, err = io.Copy(part, fileRef); err == nil {
  
  			for key, val := range params {
  				_ = writer.WriteField(key, val)
  			}
  			contentType = writer.FormDataContentType()
  			writer.Close()
  		}
  	}
  	return
  }
docs: //MultiPartBody -