首页 > 解决方案 > 如何使用 grequests 发布数据和下载图像

问题描述

我真的需要上传图片来移除 bg API 并下载背景移除的图片。它与 kivymd 集成。我不想用 python 请求来做,因为它不是异步的。这是我刚刚尝试的示例代码。纠正我的错误可能会有所帮助。

    from kivymd.app import MDApp
    import grequests
    from kivy.lang import Builder
    
    MD = '''
    MDFloatLayout:
        MDRaisedButton:
            text: "Download"
            pos_hint:{'center_x': .5,'center_y':.5}
            on_press: app.go()
    '''
    
    
    class DemoApp(MDApp):
        def build(self):
            kvv = Builder.load_string(MD)
            return kvv
    
        def go(self):
            params = {'X-Api-Key': 'Your Api Key', 'size': 'auto',
                      'image_file': open('/path/to/image.png', 'rb')}
            rs = grequests.post('https://api.remove.bg/v1.0/removebg', data=params)
            responses = grequests.map(rs)
            for response in responses:
                if 199 < response.status_code < 400:
                    name = generate_file_name()  # generate some name for your image file with extension like example.jpg
                    with open(name, 'wb') as f:  # or save to S3 or something like that
                        f.write(response.content)
    
    DemoApp().run()

请快帮我

标签: pythonpython-requestskivykivymdgrequests

解决方案


推荐阅读