FormEncode возвращает мой файл загрузки как объект Unicode - Как это исправить? - PullRequest
2 голосов
/ 27 ноября 2010
<form action="${h.url.current()}" method="POST" enctype="multipart/form-data">
    <input type="file" name="your_file" />
</form>

class MyValidator(formencode.Schema):

    allow_extra_fields  = True
    filter_extra_fields = True

    name      = formencode.validators.String(not_empty=True, messages={'empty': 'Please enter your name'})
    your_file = formencode.validators.FieldStorageUploadConverter(not_empty=True, messages={'empty': 'You haven\'t selected any files'})


try:
    form_result = MyValidator().to_python(dict(request.params))
except formencode.Invalid as error:
    return 'failed'
else:
    print type(form_result['your_file'])

Это мой код.form_result['your_file'] - это объект Unicode.Из-за этого я не могу прочитать файл или выполнить какие-либо задачи, связанные с файлом.Единственный способ получить к нему доступ - это отказаться от formencode после выполнения проверки и вернуться к request.POST['your_file'].

Что я делаю не так?

...