flask jQuery ajax 上传文件

Posted frange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、由于我的页面背景颜色设置成黑色,所以字体颜色选了白色,这个无伤大雅。

 

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获取上传文件时的名字。






以上是关于flask jQuery ajax 上传文件的主要内容,如果未能解决你的问题,请参考以下文章

无法让图像上传与 Flask 和 JQuery 一起使用

jquery ajax实现上传文件代码,带进度条

jquery ajax实现上传文件代码,带进度条

通过 AJAX 上传文件在 Flask 端返回空字典

Ajax+Python flask实现上传文件功能

jQuery / ajax 上传图片并保存到文件夹