gpt4 book ai didi

Django request.FILES 为空

转载 作者:行者123 更新时间:2023-12-02 00:24:45 27 4
gpt4 key购买 nike

我正在向 Django 应用程序 REST 接口(interface)发送文件上传 POST API 请求。这个请求是由另一个从表单接收文件的 django 应用程序 View 发出的。我正在使用海报模块

image = request.FILES['image']
from utils.poster.encode import multipart_encode
from utils.poster.streaminghttp import register_openers
register_openers()
datagen, headers = multipart_encode({'file':image.read()})
response = urlfetch.fetch(url="url",
payload=datagen,
method=urlfetch.POST,
headers=headers)

我是否遗漏了任何标题? django 如何使用 multipart/form-data 处理请求?这是我遇到的错误。

multipart_yielder instance has no attribute '__len__'

最佳答案

GAE 的 UrlFetch 不能将 multipart_encode() 返回的输出用于负载。 UrlFetch.fetch是对payload执行len()multipart_encode返回的payload是Python生成器,一般不支持len().

解决方法是先创建一个有效负载字符串,但它会为大文件使用大量内存。

datagen, headers = multipart_encode({'file':image.read()})
data = str().join(datagen)
response = urlfetch.fetch(url="url",
payload=data ,
method=urlfetch.POST,
headers=headers)

已报告问题 here .

关于Django request.FILES 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256674/

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