переменные request.session [] разрешенного размера - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь записать изображения на мой диск из 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 когда больше.Независимо от того, сколько изображений, но с одним большим, я получаю эту ошибку, поэтому я думаю, что проблема здесь в переменной размера сеанса.

Любая помощь действительно приветствуется.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...