Ввод [тип = файл] возвращает пустое значение - PullRequest
1 голос
/ 15 января 2012

У меня есть скрипт, который создает всплывающее окно с формой в соответствии с webpy cookbook:

jQuery('#logo').click(function(){
    var content = ('<h1>Upload logo</h1>' +
        '<form method="POST" enctype="multipart/form-data" action="/upload">' +
        '<input type="file" id="myfile" accept="image/jpeg,image/png,image/gif" />' +
        '<button id="upload" type="submit">Загрузить</button></form>'
        );
    popup(content);
});

в моем приложении на Python у меня есть простой код для соответствующего класса:

class uploadPage(allpages):
    def POST(self):
        x = web.input(myfile={})
        print x

, нопри попытке загрузить файл я всегда получаю пустой объект хранилища.

1 Ответ

1 голос
/ 15 января 2012

Элемент <input type="file" /> не имеет атрибута name, который указывал бы имя файла в отправке формы.Имя является обязательным, поскольку вы можете иметь несколько полей ввода, включая file, в одной форме.Добавление name= должно исправить вашу проблему:

'<input type="file" name="myfile" id="myfile" accept="image/jpeg,image/png,image/gif" />'
//                  ^^^^^^^^^^^^^
...