gpt4 book ai didi

python - 文件没有缓冲接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:11 24 4
gpt4 key购买 nike

我的 views.py 中有一个函数。是这样的

from django.core.files.uploadedfile import SimpleUploadedFile
def get_file(self, url):
# pdb.set_trace()
result = urllib.urlretrieve(url)
fi = open(result[0])
fi_name = os.path.basename(url)
suf = SimpleUploadedFile(fi_name, fi)
return suf

在创建 SimpleUploadedFile 对象时我收到错误消息

TypeError: file doesnot have buffer interface

我尝试将打开模式更改为“rb”。但仍然得到同样的错误请帮帮我

最佳答案

SimpleUploadedFile需要实际的文件内容,而不是文件对象。所以你可以像这样修复你的代码:

suf = SimpleUploadedFile(fi_name, fi.read())

我必须说,虽然我不知道您为什么要使用 urlretrieve,它会将内容保存到本地临时文件,然后您必须打开并阅读该文件。最好使用 urlopen 并直接传递它:

result = urllib.urlopen(url)
fi_name = os.path.basename(url)
suf = SimpleUploadedFile(fi_name, result.read())

关于python - 文件没有缓冲接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28233164/

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