文件上传:修剪最后几个字符 - 保存扩展名

时间:2012-09-10 10:49:34

标签: python django file-upload

我的模型允许上传的“文件名”大小不超过255个字符。如果它超过它崩溃。我需要的是“像省略号之类的东西,即大约225个字符之后的三个点(...),然后'显示文件的扩展名'。”

这是我的模型文件中的一个小代码,我认为这是影响点:

class Attachment(models.Model):
file = models.FileField(upload_to=get_upload_path, max_length=256,
        storage=AttachmentsStorage() if AttachmentsStorage else None)

非常感谢任何帮助。 谢谢:))

2 个答案:

答案 0 :(得分:2)

使用os.path.splitext()拆分扩展程序:

if len(path) > 255:
    path, ext = os.path.split(path)
    path = path[:252-len(ext)] + '...' + ext

答案 1 :(得分:1)

我认为解决问题的一个好方法是重载方法AttachmentsStorage. get_valid_name,它负责转换文件名。