使用Element-UI中的Upload控件上传文件 (Vue + Flask)

2023-11-13

知识点

前端

  1. 使用 :http-request 覆盖默认的上传行为,可以自定义上传的实现
  2. 使用 DataForm() 携带需要上传的文件
  3. 需要将http-request 的 headers中的content-type 设置为 {‘content-type’: ‘multipart/form-data’}

后端

  1. 使用request.files读取文件;使用request.form, request.get_data(), request.get_json() 等都不行。

代码

HTML

<template>
    <div style="margin-top: 20px">
        <el-upload
        style="float: right"
        class="upload-demo"
        action=""
        multiple=False
        :http-request="uploadFile"
        >
            <el-button size="small" type="primary">点击上传</el-button>
        </el-upload>
    </div>
</template>

JS

<script>
import axios from 'axios'
export default {
	data() {
	    return {
	    };
	},
	methods: {
	    uploadSectionFile(param){
	        let fileObj = param.file
	        let form = new FormData()
	        form.append("fileToUpload", fileObj)
	        console.log(form) // output is: FormData {}; 需要使用 .get() 来读取
	        console.log(form.get("fileToUpload")) // output is exactly the fileObj
	
	        axios.post("http://127.0.0.1:5000/uploadFile", form, {
	        	headers: {'content-type': 'multipart/form-data'}
	        })
	    },
	}
}
</script>

Flask

from flask import request
api = Blueprint('api', __name__)

@api.route('/uploadFile', methods=['POST'])
def uploadFile():
    file0 = request.form.get('fileToUpload') # request.form outputs ImmutableMultiDict([]); request.form.get('fileToUpload') outputs None
    file = request.files.getlist('fileToUpload')[0] # the type of file is FileStorage
    upload_dataset = pd.read_csv(file)
    # deal with upload_dataset ....
    return

参考资料

  • https://blog.csdn.net/m0_37893932/article/details/79237308
  • https://gist.github.com/duhaime/e5b3fd78c014423f37428dc23caced12
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Element-UI中的Upload控件上传文件 (Vue + Flask) 的相关文章

随机推荐

  • java的 violate 和 synchronize

    volatile 意思是说这个变量 不必用本地副本优化 保证所有线程直接操作主存中的变量 是真正共享的 volatile讲的是可见性 跟原子操作 线程安全无关 synchronized 常常被强调的意思是互斥 保证只有一个线程进入 其实它还
  • Flutter videoplayer

    视频播放项目地址 效果图 从pub dev搜索视频播放库 但都不能满足要求 最后下载flick video项目代码 做了功能简化和修改 实现功能 列表播放时 不支持拖动修改进度亮度声音 避免滑动冲突 全屏和单一视频播放时支持 1 屏幕左侧上
  • org.apache.ibatis.exceptions.PersistenceException:

    org apache ibatis exceptions PersistenceException Error building SqlSession The error may exist in com map UserMapper xm
  • 自己的第一个DS18B20温度传感器驱动程序(简单)

    基于msp430F149系列单片机 DQ连接到PORT6 5引脚 释放总线 即 空闲状态 因为连接上拉电阻 所以单总线在空闲状态时 一直处于高电平 include 430IO h I O口定义 define DS DIR P6DIR bit
  • Python 2.打开摄像头,保存图片 OpenCV Linux

    import numpy as np import cv2 调用笔记本内置摄像头 所以参数为0 如果有其他的摄像头可以调整参数为1 2 cap cv2 VideoCapture 0 while True 从摄像头读取图片 sucess im
  • 基于用户的协同过滤推荐算法原理和实现

    在推荐系统众多方法中 基于用户的协同过滤推荐算法是最早诞生的 原理也较为简单 该算法1992年提出并用于邮件过滤系统 两年后1994年被 GroupLens 用于新闻过滤 一直到2000年 该算法都是推荐系统领域最著名的算法 本文简单介绍基
  • 空字符 空格字符(字符) 空字符串 NULL的区别

    1 空字符 空格字符 字符 2 空字符串 3 NULL的区别 1 1 字符 1 首先必须明确字符型 char 是整数类型 其在内存单元是以整数形式存放 2 其次 char类型的产生是为了用于 存储字母 数字 标点字符 非打印字符 3 为方便
  • redis学习:redis五大数据类型的之String(字符串)

    String作为redis使用最多的最广泛的数据类型 一些String的基础方法 命令 描述 示例 APPEND key value 向指定的key的value后追加字符串 127 0 0 1 6379 gt set msg hello O
  • java 登录注册课题设计_JavaWeb笔记——注册登录系统项目思路

    功能 gt 注册 gt 登录 JSP login jsp gt 登录表单 regist jsp gt 注册表单 index jsp gt 主页 只有登录成功才能看到 Servlet LoginServlet RegistServlet Se
  • jupyter notebook打不开无反应 浏览器未启动的问题

    解决办法一 将http localhost 8888 tree复制到浏览器打开 此种方法每次需要重新输入 或复制链接 略显麻烦 解决办法二 1 win r 然后输入cmd 回车打开命令窗口 2 在命令窗口中输入jupyter noteboo
  • 【Java学习笔记】API:线程

    线程API 线程的生命周期图 线程方法 run方法用于定义线程任务 interrupt方法用于中断线程 yield用于让出CPU时间 start方法用于启动线程 创建线程有两种方式 常见线程有两种方式 方式一 继承Thread并重写run方
  • WPF--关于Action事件小结

    WPF 关于Action事件小结 1 需要类实例去调用事件建立订阅关系 public event Action
  • 欧拉函数

    在数论中 对于一整数n来说 欧拉函数是指 1 n 1中与n互质的数的个数 又称 函数 欧拉商数等 例如 8 4 因为1 3 5 7均和8互质 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明 函数的值 1 1 唯一和1互
  • 串口的单线半双工模式(stm32f10x系列)

    关注 星标公众号 及时获取更多技术分享 作者 冰茶奥利奥 微信公众号 嵌入式电子创客街 这两天折腾CTS RTS硬件流控 看到说232协议的CTS RTS只是用来做半双工换向使用的 正好手头上有块stm32的板子 看了看stm32的Usar
  • 6、IOC操作Bean管理[外部Bean、内部Bean、级联Bean、注入集合类型属性]

    a 注入属性 外部bean 外部bean就是将外部的bean注入到我们需要创建的bean中 1 创建两个类 Service类和dao类 2 在Service调用dao里面的方法 public interface UserDao public
  • html与python后端交互,python后端中取表单

    参考 http www manongjc com detail 13 owqqwhqvsqworkh html 前端
  • CDZSC_2022寒假个人训练赛21级(1)

    A 题意 略 题解 将n个数加起来的总和除以n即可 include
  • 红帽Linux系统管理员学习哪些内容?

    开源技术现在越来越火 无论是从事DBA 网络运维还是开发 云计算 人工智能等岗位 都需要具备些Linux基础知识 本文主要介绍Redhat Linux系统管理员一般学习哪些内容 Redhat Linux系统管理学习内容 课程概述 一 红帽系
  • 计算机考研经验分享:一战暨南大学(死亡计专),调剂七天上岸华侨大学

    计算机考研经验分享 一战暨南大学 死亡计专 调剂七天上岸华侨大学 前言 这篇文章我本来很早就打算写了 调剂过程只有过来人才懂吧 因此 我希望自己的这篇文章能对看到的人考研有所帮助 我是12号晚上11点左右收到的录取通知 然后13号太兴奋了
  • 使用Element-UI中的Upload控件上传文件 (Vue + Flask)

    知识点 前端 使用 http request 覆盖默认的上传行为 可以自定义上传的实现 使用 DataForm 携带需要上传的文件 需要将http request 的 headers中的content type 设置为 content ty