首页 > 解决方案 > 为什么在 Rossum API 中上传文档时出现此错误,提示解包值太多(预期为 2)?

问题描述

因此,我正在尝试使用 python 请求将文档上传到 Rossum 存储,并且我尝试了与https://developers.rossum.ai/docs/python-for-uploading-data-in-rossum-api中完全相同的代码

import requests

username = "username"
password = "password"
queue_id = "123456"
path = "D:/Downloads/INV001.jpg"

url = "https://api.elis.rossum.ai/v1/queues/%s/upload" % queue_id

with open(path, "rb") as f:
    print(f)
    response = requests.post(
    url,
    files={"content", f},
    auth=(username,password),
    )
    #print(response)
annotation_url = response.json()["results"][0]["annotation"]
print("The file is reachable at the following URL:", annotation_url)

当我运行此代码时,我收到如下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-29-106d2c5cb00a> in <module>
     13     url,
     14     files={"content", f},
---> 15     auth=(username,password),
     16     )
     17     #print(response)

~\miniconda3\lib\site-packages\requests\api.py in post(url, data, json, **kwargs)
    114     """
    115 
--> 116     return request('post', url, data=data, json=json, **kwargs)
    117 
    118 

~\miniconda3\lib\site-packages\requests\api.py in request(method, url, **kwargs)
     58     # cases, and look like a memory leak in others.
     59     with sessions.Session() as session:
---> 60         return session.request(method=method, url=url, **kwargs)
     61 
     62 

~\miniconda3\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    517             hooks=hooks,
    518         )
--> 519         prep = self.prepare_request(req)
    520 
    521         proxies = proxies or {}

~\miniconda3\lib\site-packages\requests\sessions.py in prepare_request(self, request)
    460             auth=merge_setting(auth, self.auth),
    461             cookies=merged_cookies,
--> 462             hooks=merge_hooks(request.hooks, self.hooks),
    463         )
    464         return p

~\miniconda3\lib\site-packages\requests\models.py in prepare(self, method, url, headers, files, data, params, auth, cookies, hooks, json)
    314         self.prepare_headers(headers)
    315         self.prepare_cookies(cookies)
--> 316         self.prepare_body(data, files, json)
    317         self.prepare_auth(auth, url)
    318 

~\miniconda3\lib\site-packages\requests\models.py in prepare_body(self, data, files, json)
    502             # Multi-part file uploads.
    503             if files:
--> 504                 (body, content_type) = self._encode_files(files, data)
    505             else:
    506                 if data:

~\miniconda3\lib\site-packages\requests\models.py in _encode_files(files, data)
    139                          v.encode('utf-8') if isinstance(v, str) else v))
    140 
--> 141         for (k, v) in files:
    142             # support for explicit filename
    143             ft = None

ValueError: too many values to unpack (expected 2)

我已经尝试了很多东西,比如

f = {'image': (name_img,img,'multipart/form-data',{'Expires': '0'}) }

f = {'image': open(path, 'rb')}

任何想法来解决这个错误。仅供参考,我正在尝试上传 jpg

标签: pythonpython-requestsvalueerror

解决方案


推荐阅读