• 0
Gustavo A. Díaz

Adjuntar archivos - Python SDK

Question

Buenas tardes,

    Escribo en este foro dado que en la sección de Soporte sinceramente no ayudan mucho, siendo que para mi, esto es una pobre implementación de la API (al menos en Python).

Estoy tratando de adjuntar archivos, y viendo que no implementan el parámetro "files" en el método post, lo he realizado mediante MultipartEncoder (del módulo complementario de requests, llamado requests-toolbelt), pero sin éxito algo justamente porque mediante la API el parámetro data (body) es enviado en formato json. Ejemplo básico:

 

from requests_toolbelt import MultipartEncoder

encoder = MultipartEncoder(
    fields={
        'file': (
        'myfile.txt',
            open('/tmp/myfile.txt', 'rb'),
            'text/plain'
        )
    }
)

self.post(path='the-url-path', body=encoder, extra_headers={'Content-type': encoder.content_type})

NOTA: por supuesto, self.post es el método de la API.

Desde ya que esto dá como error, por la línea en cuestión del método body = json.dumps(body) :

Quote

TypeError: Object of type 'MultipartEncoder' is not JSON serializable

Entonces, ¿Alguien me puede dar una mano de como poder subir archivos? Dado que ni siquiera utilizan el método recomendado desde el módulo de requests: http://docs.python-requests.org/en/master/user/quickstart/#post-a-multipart-encoded-file

Gracias de antemano.

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now