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

需求

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

方法

上传组件

html 复制代码
<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部分

javascript 复制代码
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接收部分

python 复制代码
//这里就是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')
相关推荐
前端摸鱼匠14 分钟前
YOLOv11与OpenCV 联动实战:读取摄像头实时视频流并用 YOLOv11 进行检测(三)
人工智能·python·opencv·yolo·目标检测·计算机视觉·目标跟踪
Pyeako28 分钟前
PyQt5 + PaddleOCR实战:打造桌面级实时文字识别工具
开发语言·人工智能·python·qt·paddleocr·pyqt5
喝凉白开都长肉的大胖子1 小时前
在 Matplotlib 中fontweight一般怎么设置
python·matplotlib
HAPPY酷2 小时前
Python高级架构师之路——从原理到实战
java·python·算法
Thomas.Sir3 小时前
第十三章:RAG知识库开发之【GraphRAG 从基础到实战】
python·ai·rag·graphrag
一个处女座的程序猿O(∩_∩)O3 小时前
Python基础知识大全:从零开始掌握Python核心语法
开发语言·python
小陈工3 小时前
Python Web开发入门(十一):RESTful API设计原则与最佳实践——让你的API既优雅又好用
开发语言·前端·人工智能·后端·python·安全·restful
deephub4 小时前
ADK 多智能体编排:SequentialAgent、ParallelAgent 与 LoopAgent 解析
人工智能·python·大语言模型·agent
FL16238631294 小时前
基于yolov26+pyqt5的混凝土墙面缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
python·qt·yolo
cxr8285 小时前
GPU 加速声场求解器 CUDA Kernel 实现细节 —— 高频超声传播仿真并行计算引擎
人工智能·python·目标跟踪