Vue+SSM使用Elenent的上传组件.实现单文件上传手动上传. 我这边用SSM写的后台,控制层,上传的API<template> <div> <el-upload action="" :auto-upload='false' :file-list="fileList" :on-change="handleChange" > <!-- action 我这里演示手动上传就不需要选择服务器地址,但是该参数必须要,不然会报错 --> <!-- :auto-upload='false' 改属性默认为 true 会默认直接提交文件 我这边手动提交所以选择 false--> <!-- :file-list="fileList" 官网上是上传的文件列表, 我这边为了单文件,实现第二次选择上传清空--> <!-- :on-change="handleChange" 文件状态改变时的钩子函数 --> <!-- 你可以自己测试完成之后,添加更多的样式 --> <!--该按钮选取文件 是el-upload组件的一个插槽,不添加改方法你不能选取文件--> <el-button slot="trigger" type="primary" @click="delFile">选取文件</el-button> <!--单击上传到服务器(提交)按钮 --> <el-button type="success" @click="submitUpload">上传到服务器</el-button> </el-upload> </div> </template> <script> export default { name: "test", data() { return { fileList: [], }; }, methods: { /*重新选择的时候清楚原来的文件*/ delFile() { this.fileList = []; }, /*文件状态改变时的钩子函数*/ handleChange(file, fileList) {//该方法很重要,从你选择的fileList文件赋值给你定义的this.fileList this.fileList = fileList; }, /*单击上传到服务器(提交)按钮*/ submitUpload() { let formData = new FormData();//文件转换 //fileList 对应你服务器接受名称 formData.append("fileList", this.fileList[0].raw); //这边"$http"我重新封装了axios,你可以改成自己的.但是必须是post来请求, //https://localhost:8082/yiban_zlj/fileUpload改成你服务器文件上传的API地址 //formData请求带的数据 //{"Content-Type": "multipart/form-data;charset=utf-8"}是文件上传必须要的 //最后可以打印返回的服务器返回的数据,如果控制台报错接受你哪里没有写对 this.$http.post('https://localhost:8082/yiban_zlj/fileUpload', formData, {"Content-Type": "multipart/form-data;charset=utf-8"}).then(res => { console.log(res) }) } } }; </script> <style scoped> </style>
@ResponseBody @RequestMapping(value = "/fileUpload") public String handlerForUpload(@RequestParam("fileList") MultipartFile multipartFile, HttpServletRequest request) { //判断所上传文件是否存在 if (multipartFile.isEmpty()) { return "上传错误"; } //获取上传文件的原始名称 String originalFilename = multipartFile.getOriginalFilename(); //设置上传文件的保存地址目录 String dirPath = request.getServletContext().getRealPath("/upload/"); File filePath = new File(dirPath); //如果保存的地址不存在,就先创建目录 if (!filePath.exists()) { filePath.mkdirs(); } //获取当前文件的后缀 String suffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); //使用UUID重新命名上传的文件名称(UUID(唯一识别码)+原始文件名称后缀) String newFileName = UUID.randomUUID() + "." + suffix; try { //创建可能会有错误,强制添加异常 multipartFile.transferTo(new File(dirPath + newFileName)); } catch (IOException e) { e.printStackTrace(); return "上传错误"; } System.out.println(dirPath + newFileName); return "上传成功"+"文件地址="+dirPath + newFileName; }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算