flask文件下载

后端的代码

# coding:utf-8
from flask import Flask app = Flask(__name__) 
@app.route("/upload", method=["POST"])
def upload(): 
    # pic是前端代码中设置的``  
    file_obj = request.files.get("pic")  
    if ile_obj is None:    
        return "未上传文件"
    # 将文件保存到本地  
    # 1.创建文件 
    f = open("./daemo.jpg","wb")
        # 2.向文件写内容
        data = file_obj.read()
        f.write(data)  
        # 3.关闭文件  
        f.close()    
	#直接使用上传的文件对象保存
    file_obj.save("./static/demo.jpg")  
    return "上传成功" 
    if __name__ == '__main__':  app.run(host='0.0.0.0', port=80, debug=True)

前端html文件

<form action="" method="post" enctype="multipart/form-data" style="display: inline-block" class="pull-right">

        <div class="form-group ">
            <label for="exampleInputFile">读取文件</label>
            <input type="file" id="exampleInputFile" name="file" value="">
        </div>
        <button class="btn btn-success" type="submit">文件导入数据</button>
    </form>

# 记得写enctype="multipart/form-data"

enctype就是encodetype就是编码类型的意思。

multipart/form-data是指表单数据有多部分构成,既有文本数据,又有文件等二进制数据的意思。

需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。

application/x-www-form-urlencoded不是不能上传文件,是只能上传文本格式的文件,multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传。
原文地址:https://www.cnblogs.com/zhufanyu/p/11898439.html