Odoo Help


How to implement this file upload on my own module?

Xia Sun
on 2/27/16, 9:14 AM 1,874 views

I have created a hello world module following this tutorial https://www.odoo.com/documentation/9.0/howtos/website.html and it's working fine.

Now I would like to implement a file upload on this hello world page.

My templates.xml file is like this (I just get the relavant part):

<form action="/upload" method="post" enctype="multipart/form-data">    
Upload file: <input type="file" name="uploaded" /> <br />
<input type="submit" name="submit" value="Submit" />

My controllers.py is like this (I also just give the relevant part,  my module name is "sunxia") :

# -*- coding: utf-8 -*-
from openerp import http
import cgi
class Sunxia(http.Controller):  
@http.route('/upload', type="http", auth="public", methods=['GET', 'POST'])
def upload_file(self):
form_data = cgi.FieldStorage()
file_data = form_data['uploaded'].value
fp =open('/uploads','wb')

But after choosing a file and click the upload button, the /uploads page gave an error messange:

TypeError: upload_file() got an unexpected keyword argument 'uploaded'

It seems that it cannot get the uploaded file in my controller. Can anyone told my how may I change my controller to implement this simple upload?

Since I'm quite new to odoo and python... I would strongly appreciate if you could give me more detail about this.

You can take a look in module website_hr, the user can upload cv! (Without cgi)

Jérémy Kersten (jke)
on 2/27/16, 11:47 AM

Sorry? But I cannot find the upload in website_hr... Could you tell me where it is?

Xia Sun
on 2/28/16, 1:29 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 2/27/16, 9:14 AM
Seen: 1874 times
Last updated: 2/27/16, 11:44 AM