gpt4 book ai didi

python - 为什么连续上传同一个文件时收到空的InMemoryUploadedFile对象

转载 作者:行者123 更新时间:2023-11-30 21:50:06 24 4
gpt4 key购买 nike

我有一个脚本,可以向 Django 发送 POST 请求以上传文件。它无限期地运行并上传文件“file1.csv”。

files ={"uploadedfile": ("file1.csv", open("file1.csv", 'rb'))}
requests.post(url, files=files)

现在,当 django 第一次接收 file1.csv 时,我可以读取内容并且大小不为零。

payload = request.FILES
file = payload['uploadedfile']
print "File size:", file.size

输出:

File size: 1758

但是当我在新的 POST 请求中第二次收到该文件时(因为上传脚本在无限循环中运行),该文件是空的。

File size: 0

我不明白这种行为。有什么想法吗?

我也尝试上传多个不同的文件。每当同一个文件在第一次上传后 n 次时,InMemoryUploadedFile 对象始终为空。

这是为什么?

最佳答案

我以前也遇到过类似的问题。如果您执行以下行一次,就会发生这种情况

files ={"uploadedfile": ("file1.csv", open("file1.csv", 'rb'))}

以及下一行涉及多次上传。

requests.post(url, files=files)

我猜您正在从解释器运行上述内容,并认为您可以创建 files 字典一次并上传多次。这不行!而且,这与Django没有任何关系。

因此,在每次上传之前重新创建您的 files 字典,您应该就可以了。

关于python - 为什么连续上传同一个文件时收到空的InMemoryUploadedFile对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25561655/

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