2012-01-15 3 views
1

У меня есть сценарий, который создает всплывающее окно с формой согласно webpy поваренной книге:ввода [тип = файл] возвращает пустое значение

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); 
}); 

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

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

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

ответ

1

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

'<input type="file" name="myfile" id="myfile" accept="image/jpeg,image/png,image/gif" />' 
//     ^^^^^^^^^^^^^ 
Смежные вопросы