我尝试通过multipart / form-data PATCH请求从iOS应用程序上传图像文件(jpeg)。我正在使用Waitress提供的Pyramid Web应用程序执行此操作。第一次上传(服务器启动/重置后)上传工作正常。但是,在每次进行的其他尝试中,先前的图像文件(来自第一个请求)被用作上传图像(我在这里推测......)。 Pyramid / WTForm会以某种方式缓存请求中的文件吗?知道发生了什么吗?
示例:
来自客户端的JSON multipart / form-data请求的格式为' json_metadata'字段和图像'领域。因此,在我看来,我分别提取这些字段并按如下方式加载表单:
# Get the UpdateForm
from ..forms import UpdateMeForm
# Fill the form
json_metadata = self.request.POST['json_metadata']
image = self.request.POST['image'].file
form = UpdateMeForm(data=simplejson.loads(json_metadata),\
user=me,\
image=image,\
request=self.request)
# Save the form
form.save()
然后我使用表单中的图像以及一个名为SQLAlchemy-ImageAttach的SQLAlchemy扩展来将图像保存到S3存储桶,创建一些缩略图并将其保存到S3存储桶,并保存各自的PostgreSQL DB的URL。
重启服务器后一切正常。也许我错了,但我认为它与我处理文件的方式有关(我对在python中如何完成这一点知之甚少)。