• 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

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...