Я пытаюсь записать изображения на мой диск из request.FILES.getlist ('file'), но в процессе я показываю пользователю три страницы, каждую страницу, которую я использовал, чтобы получить полную информацию на моей второй странице, я использую <input type="file" id="file" name="file" accept="image/*" multiple>
, которые позволяют пользователю загружать изображения, но сохранение на диске выполняется до второй страницы, поэтому я передаю изображения в переменную сеанса, чтобы использовать ее до третьей страницы, и прекрасно работает каждый раз, когда размер изображений ниже 2,5 МБ, но когда одно или несколько изображений в запросе больше, чем это, я получаю эту ошибку I/O operation on closed file
, и для записи изображений, которые я пытаюсь использовать с этим:
#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()
Три способа работают, когда изображения меньше 2,5МБ и три способа выбрасывания одной и той же ошибки I/O operation on closed file
когда больше.Независимо от того, сколько изображений, но с одним большим, я получаю эту ошибку, поэтому я думаю, что проблема здесь в переменной размера сеанса.
Любая помощь действительно приветствуется.Заранее спасибо