gpt4 book ai didi

python - 413 Request Entity too Large - 如何使用python拆分多个文件

转载 作者:行者123 更新时间:2023-12-05 06:00:34 24 4
gpt4 key购买 nike

我有以下代码:

    multiple_files = [
('reference', (os.path.basename(reference), open(reference, 'rb'), 'application/pdf')),
('candidate', (os.path.basename(candidate), open(candidate, 'rb'), 'application/pdf'))
]

payload = {'user': user, 'password': password, 'configname': configname, 'jobid': jobid}

r = requests.post(url, files=multiple_files, data=payload, verify=False)

我发送的每个文件只有 2Mb 左右。 (当每个文件大约 400kb 时,上面的代码确实可以成功运行)。当我对 2Mb 文件执行此操作时,返回 413 错误(请求实体太大)。我需要更改代码,因为我无权访问服务器以增加文件大小。

我如何拆分多个文件以便将其分块发送?

我读过如何处理 1 个文件,但我似乎找不到如何处理多个文件。

我试图根据我读到的有关流式上传的内容将其更改为:

with open(reference, 'rb') as a, open(candidate, 'rb') as b:
payload = {'user': user,
'password': password,
'configname': configname,
'jobid': jobid,
'reference': (os.path.basename(reference), a, 'application/pdf'),
'candidate':(os.path.basename(candidate), b, 'application/pdf')
}

r = requests.post(url, data=payload, verify=False)

但这给出了一个新的错误:HTTP 状态 415 - 不支持的媒体类型服务器拒绝了这个请求,因为请求实体的格式不被支持请求方法的请求资源。

然后我尝试将类型添加到标题

headers = {'content-type': 'application/pdf'}
...
r = requests.post(url, data=payload, headers=headers, verify=False)

但是返回了相同的 415 错误。

我还尝试使用另一个名为 requests_toolbelt 的库,但它返回的 413 请求实体也太大了:

from requests_toolbelt.multipart.encoder import MultipartEncoder
...
m = MultipartEncoder(
fields={'user': user,
'password': password,
'configname': configname,
'jobid': jobid,
'reference': (os.path.basename(reference), open(reference, 'rb'), 'application/pdf'),
'candidate': (os.path.basename(candidate), open(candidate, 'rb'), 'application/pdf')}
)

r = requests.post(url, data=m, headers={'Content-Type': m.content_type}, verify=False)

如果有人能提供帮助,我们将不胜感激。

谢谢,

最佳答案

所以我从来没有找到如何在 python 中执行此操作,我最终不得不访问 nginx 服务器并根据此更改设置:

https://stackoverflow.com/a/35794955/10920314

然后它就没有问题了。

关于python - 413 Request Entity too Large - 如何使用python拆分多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67630412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com