• Python flask jQuery ajax 上传文件


    1、html 代码

     <div>
            <form id="uploadForm" enctype="multipart/form-data" >
                <div>
                    <input type="file" name="file" value="" style="color: white">
                    <input type="button" value="上传" id="upFileBtn">
                </div>
            </form>
      </div>
        

    注:1、html 部分主要是一个form表单,其中表单的enctype = "multipart/form-data" 必须要有。

      2、由于我的页面背景颜色设置成黑色,所以字体颜色选了白色,这个无伤大雅。

     2、js代码

    var up_file = function () {
    var formData = new FormData($('#uploadForm')[0]);
    $.ajax({
        url:"/test/up_file",
        type: "POST",
        data: formData,
        async: true,
        cashe: false,
        contentType:false,
        processData:false,
        success:function (returndata) {
            alert(returndata) 
      },
      error: function (returndata) {
         alert("上传失败!")

      })

     注:如果要用ajax上传文件,则要用FormData将文件转化为FormData对象。

    3、flask部分

    @test.route('/up_file', methods=['GET', 'POST'])
    def up_file():
        if request.method == "POST":
            file = request.files['file']
           #  file_name = "test.csv"
           file_name = file.filename
            file.save(os.path.join('templates\files', file_name))
    
            return '上传成功'

    注:1、本文没有将蓝本部分写出来,相信路由的配置还是不难的。

      2、本代码将文件存在服务器的templates下files文件夹中,可以直接给文件取个新名字,也可以用rerquest.files['file'].filename获取上传文件时的名字。

  • 相关阅读:
    【笔记】【dp模型】
    【刷题】【dp】【背包】金明的预算
    建模结束了——5.3
    HDU
    洛谷 P2734 [USACO3.3]游戏 A Game
    洛谷 P4095 [HEOI2013]Eden 的新背包问题
    洛谷 P1156 垃圾陷阱
    洛谷 P1833 樱花
    洛谷 P3966 [TJOI2013]单词
    洛谷 P5357 【模板】AC自动机(二次加强版)
  • 原文地址:https://www.cnblogs.com/Frange/p/8930688.html
Copyright © 2020-2023  润新知