【问题标题】:Choose the filename of an uploaded file with Django使用 Django 选择上传文件的文件名
【发布时间】:2010-11-17 06:42:58
【问题描述】:

我正在上传图片(由 FileField 表示),我需要在上传这些文件时重命名它们。

我希望它们的格式如下:

"%d-%d-%s.%s" % (width, height, md5hash, original_extension)

我已阅读文档,但不知道是否需要编写自己的 FileSystemStorage 类或自己的 FileField 类或...?一切都如此紧密地联系在一起,我不知道从哪里开始。

【问题讨论】:

标签: python django django-models


【解决方案1】:

您不需要编写自己的 FileStorage 类或任何复杂的东西。

File/ImageFields 上的 'upload_to' 参数可以采用返回要使用的路径/文件的函数。

如何做到这一点已经回答here

【讨论】:

    【解决方案2】:

    阅读本文时,我最初的直觉是,您需要重载模型上的 save 方法,并使用 os.rename() 方法,但这会导致大量开销,而且通常从头到尾都很麻烦.如果您只是想重命名文件,但不想对其进行任何物理更改(调整大小、复制等),那么我肯定会推荐上述 arcanum 建议的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 2019-01-30
      • 2016-07-12
      • 2018-02-21
      • 2011-06-17
      相关资源
      最近更新 更多