Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 19, 2009 19:46:47

Романнн
От:
Зарегистрирован: 2009-09-30
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

upload файлов

Здравствуйте.
Есть проблемка: при переезде на новый сервер почему-то перестал работать upload файлов (выдает ошибку exc_info=(<type ‘exceptions.TypeError’>, TypeError(“'InMemoryUploadedFile' object is unsubscriptable”,), <traceback object at 0x804757170>))). На новом сервере установлен python 2.6.2.
Помогите, пожалуйста, разобраться в чем дело.
Код передачи файла:

def get_filename(request,name):
if request.FILES.has_key(name):
filename = request.FILES[name]['filename']
else:
filename = ''
if filename != '':
file = request.FILES[name]['content']
sfile = open(get_param(name,'path'),'wb')
sfile.write(file)
sfile.close()
return filename



Отредактировано (Окт. 19, 2009 19:48:36)

Офлайн

#2 Окт. 20, 2009 15:19:48

Романнн
От:
Зарегистрирован: 2009-09-30
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

upload файлов

Да, Вы правы.
Подскажите, пожалуйста, как достать теперь имя файла и содержание



Офлайн

#3 Окт. 20, 2009 15:59:52

Романнн
От:
Зарегистрирован: 2009-09-30
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

upload файлов

ура, получилось!!!

def get_filename(request,name):
uname = u"%s" % (name)
if request.FILES.has_key(uname):
filename = request.FILES[uname].name
else:
filename = ''
if filename != '':
file = request.FILES[uname].read()
sfile = open(get_param(name,'path'),'wb')
sfile.write(file)
sfile.close()
Спасибо всем!



Отредактировано (Окт. 20, 2009 16:00:20)

Офлайн

#4 Окт. 22, 2009 14:39:22

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

upload файлов

# hint

Кажется одно условие лишнее.
И хорошо бы запись в исключение завернуть.

def get_filename(request,name):
uname = u"%s" % (name)
if request.FILES.has_key(uname):
filename = request.FILES[uname].name
file = request.FILES[uname].read()
sfile = open(get_param(name,'path'),'wb')
sfile.write(file)
sfile.close()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version