您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Flask上传和下载文件

使用Flask上传和下载文件

这里的PythonAnywhere开发人员。总的来说,这是关于Flask和Web开发的一个好问题,而不是特定于我们的系统,因此,我将尝试给出一个通用的答案,而无需任何特定于我们的内容:-)

为了确定您的问题,我需要知道几件事,因此,我将从列出我正在做的假设入手-如果我对任何假设有误,请给我评论。我将适当地更新答案。

如果同时存在这两种情况,那么构造Flask应用程序的最佳方法就是处理Flask中的所有内容一个代码示例值一千个单词,因此,我整理了一个简单的示例,允许用户上传文本文件,并通过一个名为的函数运行它transform(这是转换程序中的函数插入的位置- 我的替换=,整个文件),然后将结果发送回浏览器。在PythonAnywhere上有此应用程序的实时版本

from flask import Flask, make_response, request

app = Flask(__name__)

def transform(text_file_contents):
    return text_file_contents.replace("=", ",")


@app.route('/')
def form():
    return """
        <html>
            <body>
                <h1>Transform a file demo</h1>

                <form action="/transform" method="post" enctype="multipart/form-data">
                    <input type="file" name="data_file" />
                    <input type="submit" />
                </form>
            </body>
        </html>
    """

@app.route('/transform', methods=["POST"])
def transform_view():
    request_file = request.files['data_file']
    if not request_file:
        return "No file"

    file_contents = request_file.stream.read().decode("utf-8")

    result = transform(file_contents)

    response = make_response(result)
    response.headers["Content-Disposition"] = "attachment; filename=result.csv"
    return response

关于您的其他问题:

希望对您有所帮助,如果您有任何疑问,请发表评论

Python 2022/1/1 18:30:14 有194人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶