I plan to release a new stable later this week.

On Monday, 3 December 2012 11:42:05 UTC-6, Paulo wrote:
>
> I think I have good news: I tried trunk version instead and the upload of 
> a 300 mb file worked perfectly!
>
> I was using the stable 2.2.1 version until now.
>
> I use web2py in a production server with other websites online. Is it safe 
> to use trunk version for the final web? Or should I wait for the stable 
> version to upgrade instead of using the trunk?
>
> Thanks a lot for all your time.
>
>
>
> Sexta-feira, 30 de Novembro de 2012 16:11:48 UTC, Paulo escreveu:
>>
>> Hi!
>>
>> I'm trying to create a very simple upload field, without any complex 
>> mechanism. A user just uploads a file to a folder in the server (apache), 
>> without web2py changing the file name, and without any db. I have some 
>> dozens of files already in a folder in the server, I just need an upload 
>> form to send new files easly, without having to go personally with an Usb 
>> Pen to the server to copy new files.
>>
>> But I'm having an hard time doing it, and dont know why. With small files 
>> (2mb docx file) it works perfectly. But when uploading a 300mbs wav file it 
>> gives an error ticket:
>> <type 'exceptions.MemoryError'>
>> TRACEBACK
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>> 10.
>> 11.
>> 12.
>> 13.
>> 14.
>> 15.
>> 16.
>> 17.
>> 18.
>> 19.
>> 20.
>> 21.
>> 22.
>> 23.
>> 24.
>> 25.
>> 26.
>> 27.
>> 28.
>> 29.
>> 30.
>> 31.
>> 32.
>>
>> Traceback (most recent call last):
>>   File "D:\web2py\gluon\restricted.py", line 212, in restricted
>>     exec ccode in environment
>>   File 
>> "D:/web2py/applications/Upload_Fala_Bracarense/controllers/default.py" 
>> <https://cehum.ilch.uminho.pt/admin/default/edit/Upload_Fala_Bracarense/controllers/default.py>,
>>  line 121, in <module>
>>   File "D:\web2py\gluon\globals.py", line 188, in <lambda>
>>     self._caller = lambda f: f()
>>   File 
>> "D:/web2py/applications/Upload_Fala_Bracarense/controllers/default.py" 
>> <https://cehum.ilch.uminho.pt/admin/default/edit/Upload_Fala_Bracarense/controllers/default.py>,
>>  line 28, in index
>>     form = SQLFORM.factory(Field('myfile', 'upload', 
>> uploadfolder='/static')).process()
>>   File "D:\web2py\gluon\html.py", line 2170, in process
>>     self.validate(**kwargs)
>>   File "D:\web2py\gluon\html.py", line 2109, in validate
>>     if self.accepts(**kwargs):
>>   File "D:\web2py\gluon\sqlhtml.py", line 1281, in accepts
>>     **kwargs
>>   File "D:\web2py\gluon\html.py", line 2022, in accepts
>>     self._traverse(False, hideerror)
>>   File "D:\web2py\gluon\html.py", line 842, in _traverse
>>     newstatus = c._traverse(status, hideerror) and newstatus
>>   File "D:\web2py\gluon\html.py", line 842, in _traverse
>>     newstatus = c._traverse(status, hideerror) and newstatus
>>   File "D:\web2py\gluon\html.py", line 842, in _traverse
>>     newstatus = c._traverse(status, hideerror) and newstatus
>>   File "D:\web2py\gluon\html.py", line 842, in _traverse
>>     newstatus = c._traverse(status, hideerror) and newstatus
>>   File "D:\web2py\gluon\html.py", line 853, in _traverse
>>     self._postprocessing()
>>   File "D:\web2py\gluon\html.py", line 1762, in _postprocessing
>>     _value = str(self['_value'])
>>   File "C:\Python27\Lib\cgi.py", line 515, in __repr__
>>     self.name, self.filename, self.value)
>> MemoryError
>>
>> IN FILE: 
>> D:\WEB2PY\APPLICATIONS\UPLOAD_FALA_BRACARENSE\CONTROLLERS/DEFAULT.PY
>> I have tried a lot of diferent ways. I have read everything I could find 
>> in the web. I found a topic with the same problem but no solution I could 
>> use. Anyone can help with some tips?
>>
>> This the code in the controller:
>>
>> import os
>>
>> def index():
>>     form = FORM(INPUT(_type='file',_name='myfile'),INPUT(_type='submit'))
>>     if form.accepts(request.vars,session):
>>         
>> open(os.path.join(request.folder,'uploads','filename.wav'),'wb').write(form.vars.myfile.file.read())
>>     return dict(form=form)
>>
>> I have tried a lot of different ways, this only an example. I used 
>> SQLFORM.factory {form = SQLFORM.factory(Field('myfile', 'upload', 
>> uploadfolder='/static')).process()}, shutil 
>> {shutil.copyfileobj(request.vars.myfile.file,open(os.path.join(request.folder,'static','filename.txt'),'wb'))},
>>  
>> and a lot of different code variants but none worked. Its allways the same: 
>> with small files it works, with a 200mb file it gives an error.
>>
>>
>> Anyone can help me understand this problem? The max file size I need to 
>> upload is 500mb. It will be used by only one person, with a login, so there 
>> is no need to a complex mechanism, and files need to mantain the same name. 
>> I just need the upload to work. 
>>
>> Thanks and sorry for my bad english.
>>
>>
>>
>>
>> I want a user to be able to upload a file to a directory in the server 
>> (apache), without changing the file name, and wihout databases. A simple 
>> and direct upload, so a friend of mine can store some files in
>>
>

-- 



Reply via email to