web2py renames the uploaded filenames as tablename+code+hash.extension

The total len(tablename+code+hash+extension)<=512
This means len(hash) <= 512 - len(tablename+code+extension)
The hash is a base64 encoded of the original filename.
If this hash exceeds 512 - len(tablename+code+extension) the file is 
truncated.
Mind this is still a lot of characters.

Massimo


On Monday, 20 July 2015 20:36:50 UTC-5, Scott Hunter wrote:
>
> Is this an oversight or a conscious decision?  If I understand you, if 
> one's filesystem allowed filenames greater than 512 characters, long-enough 
> but still legal names will still be truncated, and thus thwart the ability 
> to extract the original file name.  That could be a nasty surprise.
>
> P.S. As I understand it, it is a permanent filename.
>
> On Monday, July 20, 2015 at 8:47:36 AM UTC-4, Massimo Di Pierro wrote:
>>
>> Nowhere. We only state that Field(..., lenght=....) is a parameter. We do 
>> not say that for "upload" fields this is also the length of the tmp 
>> filename.
>>
>> On Monday, 20 July 2015 05:28:02 UTC-5, Scott Hunter wrote:
>>>
>>> Where is this spelled out in the documentation?  I could not find it.
>>>
>>> - Scott
>>>
>>> On Monday, July 20, 2015 at 2:24:24 AM UTC-4, Massimo Di Pierro wrote:
>>>>
>>>> This is handled by web2py. The filenames are truncated according to the 
>>>> size of the uploadfield. This defaults to 512. In new versions of windows 
>>>> the make file length has been reduced so you have to do
>>>>
>>>> Field(name, 'upload', size=200)
>>>>
>>>> and all filenames will be limited to 200 bytes.
>>>>
>>>> On Sunday, 19 July 2015 21:06:42 UTC-5, Scott Hunter wrote:
>>>>>
>>>>> This is not only an issue with Windows; any filesystem with a filename 
>>>>> limit (however big) can hit this problem.  As this is all being handled 
>>>>> by 
>>>>> web2py, and the user is selecting the file to upload, where would this 
>>>>> "logic" go, and why isn't web2py handling it?
>>>>>
>>>>> - Scott
>>>>>
>>>>> On Saturday, March 16, 2013 at 1:04:28 PM UTC-4, Niphlod wrote:
>>>>>>
>>>>>> I was wrong. the first part of the "hash" is a uuid, the second is a 
>>>>>> base16 encoding of the original filename.
>>>>>>
>>>>>> Seems that you need some logic to cut down long files if you plan to 
>>>>>> host on Windows.
>>>>>>
>>>>>> http://web2py.com/books/default/chapter/29/07?search=uploads#Storing-the-original-filename
>>>>>>  
>>>>>> <http://www.google.com/url?q=http%3A%2F%2Fweb2py.com%2Fbooks%2Fdefault%2Fchapter%2F29%2F07%3Fsearch%3Duploads%23Storing-the-original-filename&sa=D&sntz=1&usg=AFQjCNHoAJ_7v4pFTQfLJ7w7itNYEBhoPw>
>>>>>>
>>>>>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to