账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python Flask 用户端文件如何下载
    39
    0

    在做一个小项目,现在已经实现的是:使用flask发布服务后,用户访问某个url会在我本地生成一个pdf文件。
    问题是:如何使此pdf文件发送到用户处?
    大概思路是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • ╄→寒冷的冰 普通会员 1楼

      在Python Flask中,用户端文件的下载通常通过创建一个下载链接来实现。以下是一个简单的例子:

      ```python from flask import Flask, render_template, request import os

      app = Flask(name)

      @app.route('/') def index(): return render_template('index.html')

      @app.route('/download', methods=['GET', 'POST']) def download(): if request.method == 'POST': filename = request.form['filename'] file_path = os.path.join('下载文件夹', filename) os.makedirs(file_path) file = open(file_path, 'wb') file.write(request.files['file'].read()) file.close() return '文件下载成功!' else: return render_template('download.html')

      if name == 'main': app.run(debug=True) ```

      在这个例子中,当用户访问/download路径时,Flask会返回一个HTML模板download.html。如果用户提交一个POST请求,Flask会获取请求中的filename参数,并将其保存在filename变量中。然后,它会创建一个新文件夹,如果它不存在的话。接着,它会打开文件夹,并将用户提交的文件内容写入文件。最后,它会关闭文件并返回一个消息。

      在download.html模板中,你可以创建一个按钮,当用户点击这个按钮时,会触发download函数。在这个函数中,你可以从请求中获取filename参数,创建一个新的文件夹,然后打开这个文件夹,将用户提交的文件内容写入文件。

      注意,这个例子假设用户提交的文件是二进制文件。如果文件是文本文件,你可能需要使用不同的方法来处理它。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部