### Summary

When i try to use the URI plugin with body_format: form-multipart, it's not possible to put an integer value in body
```
  - name: Upload a file via multipart/form-multipart
    uri:
      url: https://httpbin.org/post
      method: POST
      body_format: form-multipart
      body:
        text_form_field: 1
```
### Issue Type

Bug Report

### Component Name

uri.py

### Ansible Version

```console
$ ansible --version
ansible 2.10.8
  config file = None
  configured module search path = ['/home/jes/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/jes/ansible/lib/python3.8/site-packages/ansible
  executable location = /home/jes/ansible/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
```


### Configuration

```console
$ ansible-config dump --only-changed
HOST_KEY_CHECKING(env: ANSIBLE_HOST_KEY_CHECKING) = False
```


### OS / Environment

Ubuntu 20.04.2 LTS

### Steps to Reproduce

<!---   - name: Upload a file via multipart/form-multipart
    uri:
      url: https://httpbin.org/post
      method: POST
      body_format: form-multipart
      body:
        text_form_field: 1 -->



### Expected Results

I expected to have no error since it works with string value

### Actual Results

```console
The full traceback is:
Traceback (most recent call last):
  File "/home/jes/ansible/lib/python3.8/site-packages/ansible/executor/task_executor.py", line 158, in run
    res = self._execute()
  File "/home/jes/ansible/lib/python3.8/site-packages/ansible/executor/task_executor.py", line 663, in _execute
    result = self._handler.run(task_vars=variables)
  File "/home/jes/ansible/lib/python3.8/site-packages/ansible/plugins/action/uri.py", line 66, in run
    content = value.get('content')
AttributeError: 'int' object has no attribute 'get'
fatal: [portainer_ce]: FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}
```


### Code of Conduct

I agree to follow the Ansible Code of Conduct
return 'ImmutableDict({0})'.format(repr(self._store))
    def union(self, overriding_mapping):
        """
        Create an ImmutableDict as a combination of the original and overriding_mapping
        :arg overriding_mapping: A Mapping of replacement and additional items
        :return: A copy of the ImmutableDict with key-value pairs from the overriding_mapping added
        If any of the keys in overriding_mapping are already present in the original ImmutableDict,
        the overriding_mapping item replaces the one in the original ImmutableDict.
        """
        return ImmutableDict(self._store, **overriding_mapping)
    def difference(self, subtractive_iterable):
        """
        Create an ImmutableDict as a combination of the original minus keys in subtractive_iterable
        :arg subtractive_iterable: Any iterable containing keys that should not be present in the
            new ImmutableDict
        :return: A copy of the ImmutableDict with keys from the subtractive_iterable removed
        """
        remove_keys = frozenset(subtractive_iterable)
        keys = (k for k in self._store.keys() if k not in remove_keys)
        return ImmutableDict((k, self._store[k]) for k in keys)
def is_string(seq):
    """Identify whether the input has a string-like type (inclding bytes)."""
    
    return isinstance(seq, (text_type, binary_type)) or getattr(seq, '__ENCRYPTED__', False)
def is_iterable(seq, include_strings=False):