layui+springboot 上传数据进行处理的一些问题

本文主要探讨了在layui前端框架与SpringBoot后台交互过程中遇到的文件上传问题,包括统计文件数量、获取最新添加文件、处理文件数量限制、进度条显示异常以及前后端数据传递和后台文件处理等。通过对问题的分析和解决,详细阐述了每个问题的解决思路和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui+springboot 上传数据进行处理的一些问题

问题1:统计文件列表的文件数量

files中只有pushFile()等四个方法,我们需要知道一个Object对象中的对象个数,我们可以ObjectObject.keys(obj)方法


choose: function choose(obj) {
   
			files = this.file = obj.pushFile();
			obj.preview(function (index, file, result) {
   
				imgCount = Object.keys(files).length;
			});
		}  

问题2:需要得到我们最新添加的文件,这里我只需要文件列表里是我最新添加的这个文件,我只需要这一个文件,我们使用for循环删除所有的文件,在将最新的文件加进去


	choose: function(obj){
   
                var files = this.files;
                for (let x in files) {
     //先来个for循环清空队列
                    delete files[x];
                }
                var that = this;

                files = this.files = obj.pushFile(); //将选择的文件添加

问题3:layui当文件列表比限制的文件数多一个时才会提示文件数量限制,当我们将文件数量设置为1时,我们现在需要table只显示我们最新选择的文件,但是我们发现table最多可以出现2个记录,我们可以在添加前,进行表单清空,

  • 这是我们将文件数量限制为1,我们发现,第一次选择文件会出现文件.xlsx,第二次点击选择选择文件会添加红色方框的这条记录,但是上传时就会提醒我们只能上传一条,所以这时我们不需要第一条记录

在这里插入图片描述

//表单清空
var tr = that.elemList.find('tr');
tr.remove();
//读取本地文件
obj.preview(function(index, file, result){
   ......}

问题4:我们发现进度已经达到了100%,但是进度条没有显示,我们查看参数

我们发现index未定义,说明没有传值进来,这时我们对参数进行处理,这里我们因为只有一条数据,所以将表单的第一条记录id命名为progress-demo
在这里插入图片描述
=

问题5: 这时前端处理好了,我们将数据传入到后台

我们填写url

var uploadListIns = upload.render({
   
          elem: '#test-upload-testList'
          ,elemList: $('#test-upload-demoList') //列表元素对象
          ,url: 'http://localhost:8080/file/importExcel'
          ,accept: 'file'
          ,exts: 'xls|xlsx'
          ,multiple: false
          ,number: 1
          ,auto: false
          ,bindAction: '#test-upload-testListAction'
          ,choose: function(obj){
   
问题6:后台如何处理

1.这里注意返回的json格式,我们看一下layui的要求在这里插入图片描述
2.对于文件我们如何处理,我们使用transfer方法,将file文件复制到path的路径中,然后进行处理
file.transferTo(new File(path))

package com.knowledge.management.device.controller;

import com.knowledge.management.device.utils.Neo4jUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值