覆盖Flask中的FileStorage.save行为
问题描述:
我想用FileStorage.save
方法将文件推送到存储服务。在Django中,我会更改存储后端来完成此操作。有没有办法改变在Flask应用程序中做什么FileStorage.save
?覆盖Flask中的FileStorage.save行为
答
Werkzeug在FileStorage.save
中未提供不同的行为。
您可以修补该方法以全局更改其行为。
from werkzeug.datastructures import FileStorage
def save(self, dst, buffer_size=16384):
# do something else with the self.stream
FileStorage.save = save
您也可以使用扩展名,例如Flask-Storage,它创建了一个类似的界面Django的存储后端,并会被用来代替save
。