当前位置: 首页 > article >正文

用element ui上传带参数的文件,并用flask接收

需求

网页需要实现上传一个csv文件,并携带两个表单的参数给后端

方法

上传组件

<el-upload
	class="upload-demo"
	drag
	action="/upload" <!--要上传到的路由地址,跟flask路由函数对应-->
	accept=".csv" <!--只接收csv文件-->
	ref="upload" <!--引用标识-->
	:data="ruleForm" <!--额外参数的表单变量名-->
	:auto-upload="false"
	:before-remove="beforeRemove"
	:on-success="handleSuccess"
	:limit="1">
	<i class="el-icon-upload"></i>
	<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
</el-upload>

JS部分

data() {
   return {
        ruleForm: {  // 和upload组件中的data参数值一致
            group_name: '',
            model_name: '',
        }
},
 methods: {
    onSubmit() {
         // 获取文件列表
         const fileList = this.$refs.upload.uploadFiles;
         // 判断是否有文件需要上传
         if (fileList.length > 0) {
             // 手动触发文件上传
             this.$refs.upload.submit();
         } else {
             this.$alert('请选择文件', '提示', {
                 confirmButtonText: '确定',
             });
         }
     },
 }

flask接收部分

//这里就是upload组件的action地址
@app.route('/upload', methods=['POST', 'GET']) 
def upload():
    if request.method == 'POST':
        # 获取上传的文件
        file = request.files['file']
        result_df = pd.read_csv(file)
        # 额外参数
        s_id = request.form.get('group_name')
        model_name = request.form.get('model_name')
        # print("参数1:", s_id)
        # print("参数2:", model_name) 
       	return jsonify('success')

http://www.kler.cn/a/152450.html

相关文章:

  • 算法通关村第五关—队栈和Hash的经典问题(白银)
  • 人才缺口达150万!云计算凭什么这么火?
  • 计算机网络(二)
  • Spring Security 6.x 系列(7)—— 源码分析之Builder设计模式
  • 【办公软件】电脑开机密码忘记了如何重置?
  • 通过lua脚本在redis中处理json数据
  • web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)
  • 服务器内存使用率高的原因及解决方法_Maizyun
  • Docker配置Halo搭建个人博客-快速入门
  • 压力测试+接口测试
  • 形态学操作—底帽运算
  • 易石无代码开发:电商平台连接CRM与客服系统,实现营销自动化
  • java 偏向锁 10个课题
  • leetcode704. 二分查找
  • 前端页面构成有哪些,分别是什么?
  • 容器技术发展史,编排与容器的技术演进之路——2
  • 探索容灾架构演进之路,从单点到异地多活
  • FLASK博客系列6——数据库之谜
  • 微调Fine tune
  • 2023年中国金融科技研究报告