在Flask中处理文件上传非常简单。 它需要一个enctype属性设置为'multipart/form-data'的HTML表单,将该文件提交到指定URL。 

也可以配置上传文件路径和指定上传文件大小。

 

实例:upload.html文件中包含一个file和一个提交按钮。

执行action为upload函数,方法为post,同时,需要一个 enctype = "multipart/form-data"属性。

 

 <form action = "http://localhost:5000/upload" method = "POST"
         enctype = "multipart/form-data">
         <input type = "file" name = "file" />
         <input type = "submit" value="提交"/>
      </form>

点击提交按钮后,upload_file函数开始处理,从request.files中获取文件, 通过save函数,将文件保存至服务器上。

@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        f = request.files['file']
        print(request.files)
        f.save(secure_filename(f.filename))
        return 'file uploaded successfully'
    else:
        return render_template('upload.html')

如通过浏览器上传一个1.txt文件,文件被保存至项目所在目录。

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐