upload.html 文件
》》》这个页面注意下 POST方法去呼叫action属性所指定的路由,下面 input 内容是告诉浏览器这是个文件不是别的啥玩意 ,enctype这个属性在上传文件这里必须是这么写的表示编码的一些含义。反正不明白就是整个照抄也没事,上传这玩意也就是个固定套路,指定好路由地址和input的NAME其他都一样。 》然后设置 setting.py 配置文件File Upload
UPLOAD_FOLDER ='upload/'
import setting app = Flask(__name__) app.config.from_object(setting)#配置进来》起始下载路由,展示文件选择页面
@app.route('/upload')
def upload_file():
return render_template('upload.html')
》上传动作路由,这次记录的POST上传,request里边就有.files[ ]方法
@app.route('/uploader', methods = ['GET', 'POST'])
def uploader():
if request.method == 'POST':
f = request.files['file'] #调用方法形成对象
f.save(r'./upload/%s'%f.filename) #保存路径格式化进去文件名,我没用JOIN发法因为我觉得乱,看的时候还是这样直观。
return '上传成功'
2、下载方法更简单,主要就一句话,文件名传进来前边是下载地址,后面是固定参数。
@app.route('/down/')
def down(name):
return send_file(r'./upload/%s'%name,as_attachment=True)
》》》如果需要选择文件下载也和上面一样做俩路由一个是文件列表,后一个就这个下载动作路由。就这样吧 ,太啰嗦了。


