Your post very very helpful. Indeed the problem is problem being passed to the URL function by the grid. I believe this is now fixed. Can you help me check it?
Massimo On Saturday, 9 March 2013 13:21:38 UTC-6, Massimo Di Pierro wrote: > > Thank you Ricardo. This helps a lot. I will fix it asap. > > massimo > > On Saturday, 9 March 2013 10:10:19 UTC-6, Ricardo Pedroso wrote: >> >> On Sat, Mar 9, 2013 at 4:27 AM, Massimo Di Pierro >> <massimo....@gmail.com> wrote: >> > I cannot reproduce the problem. >> >> I was able to reproduce it with web2py >> Version 2.4.2-stable+timestamp.2013.03.09.00.16.49 >> >> I attach a small sample that demonstrate the issue. >> Just drop the attachment in controllers in an empty >> application. it does not need any view and db connection >> and table definition is in it. >> >> > It would help if you could isolate it. Do you see the memory increase >> during >> > upload? After upload? During validation? After validation? When the >> form is >> > successfully uploaded or only when there is error in the form? Can you >> > reproduce it if there is only one field? >> > >> >> The problem is with SQLFORM.grid. >> >> I track it down to: >> >> - sqlhtml.py (1817) in def url >> `- sqlhtml.py (1824) when calling URL(**b) >> `- html.py (357) when calling urllib.urlencode(list_vars) >> >> list_vars contains the FieldStorage. So I guess the content of the upload >> is used in urlencode. >> >> The call to url() is the culprit and it's called in two places in >> sqlhtml.py: >> >> line 1835: >> referrer = session.get('_web2py_grid_referrer_' + formname, url() >> >> line 1850: >> def gridbutton(buttonclass='buttonadd', buttontext=T('Add'), >> buttonurl=url(args=[]), callback=None, >> delete=None, trap=True) >> >> >> Ricardo >> >> >> > On Friday, 8 March 2013 19:55:35 UTC-6, Mạnh Trần Đức wrote: >> >> >> >> Hi,this is my db: >> >> ######################################## >> >> db.define_table('clsb_product', >> >> Field('product_category', type = 'reference clsb_category', >> notnull = >> >> True, >> >> label = T('Category')), >> >> Field('product_type', type = 'reference clsb_product_type', >> notnull = >> >> True, >> >> label = T('Product Type')), >> >> Field('product_relation', type = 'reference clsb_relation', >> notnull = >> >> True, >> >> label = T('Product Relation')), >> >> Field('product_creator', type = 'reference clsb_dic_creator', >> notnull >> >> = True, >> >> label = T('Product Creator')), >> >> Field('product_publisher', type = 'reference clsb_dic_publisher', >> >> notnull = True, >> >> label = T('Product Publisher')), >> >> Field('product_title', type = 'string', notnull = True, >> >> label = T('Product Title')), >> >> Field('product_code', type = 'string', notnull = True, unique = >> True, >> >> label = T('Product Code')), >> >> Field('total_file', type = 'integer', >> >> label = T('Total File')), >> >> Field('product_cover', type = 'upload', requires = >> IS_IMAGE(extensions >> >> = 'png'), notnull = True, >> >> label = T('Cover Image')), >> >> Field('product_data', type = 'upload', requires = >> >> IS_UPLOAD_FILENAME(extension = 'zip'), notnull = True, >> >> label = T('Product Data')), >> >> auth.signature, >> >> format = '%(product_title)s') >> >> >> >> this is function in controller: >> >> ######################################## >> >> def manager(): >> >> if request.args: >> >> table = 'clsb_' + request.args(0) >> >> if not table in db.tables(): redirect(URL('error')) >> >> form = SQLFORM.grid(db[table], args = request.args[:1], >> >> onupdate = auth.archive, >> >> showbuttontext = False, >> >> user_signature = False) >> >> return dict(form = form) >> >> return None >> >> >> >> Thank everyone for repling me :-) >> >> >> >> On Friday, March 8, 2013 12:41:47 AM UTC+7, Massimo Di Pierro wrote: >> >>> >> >>> Can you show us your code? Web2py is transparent to the upload and >> does >> >>> not stores the uploaded file in ram but your app may do it and that >> may be a >> >>> problem. >> >>> >> >>> On Wednesday, 6 March 2013 20:56:28 UTC-6, Mạnh Trần Đức wrote: >> >>>> >> >>>> When I upload a ~400Mb file: >> >>>> >> >>>> Firstly, After Chrome show "upload 100%" , the python progress jump >> from >> >>>> 50 -. 400 MB >> >>>> Then after few senconds, it jumps to max of RAM (Step by step, 1GB, >> >>>> 1.5GB, ... 2.5 GB) then my PC hang (Fully of RAM) >> >>>> >> >>>> On Monday, March 4, 2013 7:15:55 PM UTC+7, Phyo Arkar wrote: >> >>>>> >> >>>>> How much Ram it takes. >> >>>>> >> >>>>> Wont take alot more than 400mb i believe. >> >>>>> >> > -- >> > >> > --- >> > You received this message because you are subscribed to the Google >> Groups >> > "web2py-users" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to web2py+un...@googlegroups.com. >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.