我正在尝试从request.FILES.getlist('file')在磁盘上写入映像,但在此过程中,我向用户显示三页,第二页中我用来填充不同信息的每一页我都使用{ {1}}允许用户上传图像,但磁盘上的保存要完成直到第三个页面为止,因此我将图像传递给会话变量以在第三个页面之前使用它,并且每次imeges大小低于以下大小时都可以正常工作2.5 MB,但请求中的一幅或多幅图像大于该错误,就给了我这个错误<input type="file" id="file" name="file" accept="image/*" multiple>
并使用以下方法写入图像:
I/O operation on closed file
当图像小于2.5 MB时,这三种方式都可以工作;当图像更大时,这三种方式会抛出相同的错误#to save the request.FILES in a session variable on page two
request.session['imgfiles'] = request.FILES.getlist('file')
#now to write the images on disk on page 3
images = request.session.get('imgfiles')
direc = '\\some\\directory\\'
#using PIL
for img in images:
i = Image.open(img)
i.save(direc+str(img))
#or
for img in images:
with open(direc + str(img), 'wb') as dest:
for chunk in img.chunks():
dest.write(chunk)
#or
dest = open(direc + str(img), 'wb+')
for chunk in img.chunks():
dest.write(chunk)
dest.close()
。不管有多少张图像,但有一张大图都会给我这个错误,所以我认为这里的问题是会话大小变量。
我们非常感谢您的帮助。预先感谢