Actually, the web2py setting you're looking for is 'length'.  Here's an 
example:


db.define_table('document',
    Field('document_filename', writable=False, compute = lambda row: 
request.post_vars.document.filename),
    Field('document','upload',autodelete=True,
          requires=IS_LENGTH(minsize=10, maxsize=9048576, 
error_message='Please select a file.')),
    )

# Windows has a maximum length of 260 characters for a file's combined path 
and name
import platform
if platform.system() == 'Windows':
    db.document.document.length = 100




On Friday, November 15, 2013 4:01:56 AM UTC+13, Loïc wrote:
>
> I had a similar issue some time ago, but Windows was my testing machine, 
> not the production server OS. So it was not very annoying...
> If you want to host on Windows, you may have to store the original 
> filename in the database, and change it on the disk : 
>
> http://web2py.com/books/default/chapter/29/07?search=uploads#Storing-the-original-filename
>
>
>
> Le jeudi 14 novembre 2013 11:03:05 UTC+1, Rahul a écrit :
>>
>> Okay - 
>>  So in my case the file name actually passed to DB is as highlighted 
>> below - this is 229 characters long (still smaller than 260 limit). Can the 
>> upload field handle such long file names ? Do you think that could be the 
>> problem? How do we specify file name character limit in db.py when defining 
>> files I know we can specify the size but how names of files ? Any idea? 
>>
>> in db.py I have  - 
>>  Field('attach_file','upload'))
>>
>> I am not using blob to store files- instead files are stored on server at 
>> a specified path. 
>>
>>
>> issues.attach_file.8ddd3149b14cb8e9.4d6f6e6579204d617474657273206578706f7365205072696d6172792041647669736f722066726f6d20436f6e7461637420746f20496e76204163636f756e74207669657720616e642064796e616d6963207265706f7274732e70707478.pptx
>> Regards, Rahul
>>
>> On Thursday, November 14, 2013 2:11:13 PM UTC+5:30, Niphlod wrote:
>>>
>>>
>>>
>>> On Thursday, November 14, 2013 6:21:26 AM UTC+1, Rahul wrote:
>>>>
>>>> Hi Ricardo, 
>>>>          Thanks for the response, but I don't understand why it should 
>>>> be a windows limit. I have many files with much larger names in windows, 
>>>> never had such a problem. Besides this only occurs when we are uploading 
>>>> it 
>>>> in web2py. Could SQLite database be a constraint ? I am using sqlite for 
>>>> this app.  What might cause this, for now I have reduced the file name and 
>>>> it gets uploaded just fine. 
>>>>
>>>> Sincerely, Rahul D.
>>>>
>>>>>
>>>>>  
>>> There's no way  you can have a path with more than 260 characters in 
>>> windows. Any database has no issues on handling long paths, only the 
>>> underlying filesystem. If you choose to store files in your uploads folder, 
>>> and you are on windows, you need to limit the length of the filenames users 
>>> try to upload. Alternatively, you can store files in the database in a blob 
>>> field.
>>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to