请问如何在网站中实现文件下载与文件打包上传功能?

来源:2-1 用户注册页面开发(上)-完成注册流程

qq_黑猫卡哇伊_0

2021-11-02 22:49:19

请问如何在网站中实现文件点击下载与文件打包上传功能?

写回答

1回答

时间,

2021-11-03

同学,你好!同学可以参考下述代码,实现简单的文件上传和下载的功能。

@app.route('/img/upload', methods=['GET', 'POST'])
def img_upload():
    """ 不使用wtf实现的文件上传 """
    if request.method == 'POST':
        # 获取文件列表
        files = request.files
        file1 = files.get('file1', None)
        if file1:
            # 保存文件
            f_name = secure_filename(file1.filename)
            print('filename:', f_name)
            file_name = os.path.join(app.config['UPLOAD_PATH'], f_name)
            file1.save(file_name)
            print('保存成功')
        return redirect(url_for('img_upload'))
    return render_template('img_upload.html')

# 文件下载
from flask import send_from_directory
@app.route("/download/<path:filename>")
def downloader(filename):
    return send_from_directory(app.config['UPLOAD_PATH'], filename, as_attachment=True)

img_upload.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
<form action="/img/upload" method="post" enctype="multipart/form-data">
    <p>
        <input type="file" name="file1">
    </p>
    <p>
        <input type="submit" value="开始上传">
    </p>
</form>
</body>
</html>

祝学习愉快!

0

0 学习 · 2433 问题

查看课程