没学过Python,扫了一眼代码,考虑是firewall_main.py中get_file()方法传参错误带来的问题。这个方法的return调用了宝塔公共库public.py中的send_file()方法。这个方法又封装了flask库里的send_file()方法,缺省了除了文件地址、类型和文件名之外的参数。firewall_main.py调用的时候,仍按照flask库的方法要求在传参,导致了报错。
解决方案:修改firewall_main.py中的get_file()方法
def get_file(self, args):
filename = args.filename
mimetype = "application/octet-stream"
fname = os.path.basename(filename)
if not os.path.exists(filename): return abort(404)
return send_file(filename, fname, mimetype)
问题解决。 |