【发布时间】:2012-12-27 06:43:08
【问题描述】:
我目前通过挂钩 Filefield 所在模型的 save 方法为图像上传生成缩略图,但是,由于多种原因,这真的很糟糕。但它确实有效,与我之前对自定义上传处理程序的实验不同......
这让我觉得这是创建和更新缩略图的合适时机,但我在试图找出上传文件最终将保存在哪里时遇到了困难(因此我可以将缩略图保存到基于该路径的路径)。我可以很容易地获得临时文件夹路径,但这没有用,我需要知道上传最终会上传到哪个文件夹,这可以从这里开始吗?
class Thumbnailer(TemporaryFileUploadHandler):
def file_complete(self, file_size):
self.file.seek(0)
if not self.content_type is None and 'image' in self.content_type:
newfile = StringIO()
img = Image.open( self.file )
thumb_size = 400,300
img.thumbnail( thumb_size, Image.ANTIALIAS )
img.save( os.path.join("THIS PATH IS WHAT I NEED", "thumbs", self.file_name, 'JPEG', quality=80 )
return super(Thumbnailer, self).file_complete(file_size)
ps:请不要通过推荐插件和混合插件来做缩略图 - 我知道并且已经忽略了所有这些,至少对于这个项目..
【问题讨论】:
标签: python django thumbnails