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

springBoot与ElementUI配合上传文件

以下是使用Vue CLI创建的Vue项目,结合Element UI来实现文件上传功能的完整示例。

步骤

  1. 创建Vue项目:确保你已经安装了Vue CLI,若未安装,可使用以下命令安装:
npm install -g @vue/cli

然后创建一个新的Vue项目:

vue create element-file-upload-demo
cd element-file-upload-demo
  1. 安装Element UI:在项目根目录下执行以下命令安装Element UI:
npm install element-ui -S
  1. 配置Element UI:在src/main.js中引入Element UI:
import Vue from 'vue';
import App from './App.vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

new Vue({
  render: h => h(App),
}).$mount('#app');

  1. 编写后端接口(使用Spring Boot):后端代码和之前的示例相同,这里再给出一遍。
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@RestController
public class FileUploadController {

    @PostMapping("/upload")
    public Map<String, Object> uploadFile(@RequestParam("file") MultipartFile file) {
        Map<String, Object> result = new HashMap<>();
        if (file.isEmpty()) {
            result.put("success", false);
            result.put("message", "上传的文件为空");
            return result;
        }
        try {
            String filePath = "upload/" + file.getOriginalFilename();
            File dest = new File(filePath);
            if (!dest.getParentFile().exists()) {
                dest.getParentFile().mkdirs();
            }
            file.transferTo(dest);
            result.put("success", true);
            result.put("message", "文件上传成功");
        } catch (IOException e) {
            result.put("success", false);
            result.put("message", "文件上传失败:" + e.getMessage());
        }
        return result;
    }
}
  1. 编写前端组件(Vue):在src/components目录下创建FileUpload.vue组件:

  2. App.vue中使用组件

<template>
  <div id="app">
    <FileUpload />
  </div>
</template>

<script>
import FileUpload from './components/FileUpload.vue';

export default {
  name: 'App',
  components: {
    FileUpload
  }
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

运行项目

  1. 启动Spring Boot项目。
  2. 在Vue项目根目录下执行npm run serve启动前端项目。
  3. 打开浏览器访问http://localhost:8080,即可看到文件上传界面。
http://www.dtcms.com/a/99651.html

相关文章:

  • Vue2——常用指令总结、指令修饰符、v-model原理、computed计算属性、watch监听器、ref和$refs
  • Elasticsearch(ES)的经典面试题及其答案
  • 深度对比:DeepSeek vs OpenAI 核心技术指标
  • Matlab安装tdms插件
  • Numpy用法(三)
  • QT操作Excel
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的缓存技术:使用 Redis 提升性能
  • NodeJs之http模块
  • 学成在线--day02
  • 深度学习篇---模型训练评估参数
  • Tabby二:使用笔记 - 保姆级教程
  • C#的CSV 在8859-1下中乱码和技巧
  • 猜猜我用的是哪个大模型?我的世界游戏界面简单的模拟效果
  • 网络华为HCIA+HCIP 策略路由,双点双向
  • OSPF练习
  • Let’s Encrypt 宣布推出短期证书与 IP 地址支持,推动 Web 安全迈向新高度
  • 无线通信技术(二):ITU、3GPP及传统波段对无线频谱的划分
  • AutoDev 2.0 正式发布:智能体 x 开源生态,AI 自动开发新标杆
  • 计算机组成原理笔记(六)——2.2机器数的定点表示和浮点表示
  • React Router精通:轻松创建动态单页应用
  • 动态IP:网络世界的“变色龙”如何改变你的在线体验?
  • 革新汽车安全通信技术,美格智能全系车载通信模组支持NG-eCall
  • Baklib知识中台驱动智能架构升级
  • HTML布局
  • HTML文档流
  • Turtle事件处理(键盘与鼠标交互)
  • 基于单片机的智能家居设计(论文+源码)
  • RabbitMQ 技术详解:异步消息通信的核心原理与实践
  • wordpress的cookie理解
  • 【AI学习】机器学习算法