我目前通过挂钩 Filefield 所在模型的保存方法来为图像上传生成缩略图,但是由于多种原因,这真的很糟糕。但它确实有效,不像我之前对自定义上传处理程序的实验......
这让我觉得这是创建和更新缩略图的合适时机,但我试图找出上传文件最终将保存在哪里(因此我可以将缩略图保存到基于该路径的路径)。我可以很容易地获得临时文件夹路径,但这没用,我需要知道上传最终将上传到哪个文件夹,这可以从这里开始吗?
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:请不要通过推荐插件和混合插件来回答 - 我知道并忽略了所有这些,至少对于这个项目..