烧瓶上传 + 文件夹创建 + 前端展示

Posted

技术标签:

【中文标题】烧瓶上传 + 文件夹创建 + 前端展示【英文标题】:Flask Uploading + Folder Creation + FrontEnd Showing it 【发布时间】:2020-07-17 16:46:23 【问题描述】:

我的问题如下:

我正在创建商业提案应用程序,它应该接收输入表单中的文件,将它们保存在名为 model.id 的文件夹中,并在前端的提案页面内显示它们。

我的代码:

@comercial.route('/NovoOrçamento', methods=['GET', 'POST'])
def novo_orcamento():
    form = OrcamentoForm()
    if request.method == 'POST':

        if form.validate_on_submit():
            form.to_database()

        else:
            flash('Something went wrong.')
            return redirect('./NovoOrçamento')

        if 'arquivos' not in request.files:
            flash('no files')

        files = request.files.getlist('arquivos')
        for file in files:
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                # My problem starts here at file.save() 

        return redirect('./Dashboard')

    return render_template('novo_orcamento.html', form=form)

我没有其余的代码,因为我不知道如何实际做到这一点。

【问题讨论】:

这能回答你的问题吗? Uploading file in python flask 【参考方案1】:

我认为您正在寻找一个用于处理和管理文件上传和下载的库。我建议查看Flask_uploads 库。它允许您为允许的文件类型、允许的大小以及保存它们的位置(以及更多)配置多个文件模型。

【讨论】:

自 2020 年 2 月以来,PyPi 上的 Flask-Uploads 版本已损坏。请改用 pypi.org/project/Flask-Reuploaded。【参考方案2】:

Miguel Grinberg 本周刚刚写了一篇精彩的博文,专门针对您的问题:

https://blog.miguelgrinberg.com/post/handling-file-uploads-with-flask

如果您想在您的设备上试用,您必须先保存上传的文件,然后再提供它们。看看 Flask 的 send_from_directory 函数。

【讨论】:

以上是关于烧瓶上传 + 文件夹创建 + 前端展示的主要内容,如果未能解决你的问题,请参考以下文章

从 React 前端将图像上传到烧瓶后端时出现 KeyError 'image'

使用jquery.form.js实现文件上传及进度条前端代码

oss上传文件进度条展示

SpringMVC 的使用映射路径展示文件服务器上的图片

SpringBoot + Vue实现博文上传+展示+博文列表

后端传送图片到前端