vue+springboot+element+vue-resource实现文件上传教程

vue页面设置

//文件显示列表点击上传只能上传jar文件,且不超过500kb/*文件上传前,判断文件名是否存在,等其他处理*/beforeUpload(file){console.log("文件名",file.name,this.fileList)for (let i = 0; i {this.$http.get('/aaaa/task/del?taskId='+this.taskId+'&name='+file.name).then(function(res) {......}); }).catch(() => {this.getJarList(); return false; }); },/*文件上传,重写文件上传方法,action的路径不会起作用*/myUpload(file){let fd = new FormData(); fd.append('file',this.file); //传文件fd.append('taskId',this.taskId); //传其他参数// fd.append('filename',file.name); //传其他参数this.$http.post('/aaaa/task/add',fd).then(function(res) {....}); },

【vue+springboot+element+vue-resource实现文件上传教程】fileList一个对象的内容
name:"xxxx.jar"status:"success"uid:123456456

参数
this.param={taskId:this.taskId}

springboot设置
1.请求的注解:produces = "multipart/form-data; charset=utf-8", method = RequestMethod.POS
@RequestMapping(value = "https://www.it610.com/add", produces = "multipart/form-data; charset=utf-8", method = RequestMethod.POST)public String addJar(int taskId, HttpServletRequest request) throws IOException, ServletException {....//获取文件Part part = request.getPart("file"); // input的name值String dis = part.getHeader("Content-Disposition"); // 获取文件名--sdsf.jarString fna = dis.substring(dis.indexOf("filename=") + 10, dis.length() - 1); String fname = fna.substring(fna.lastIndexOf("\\") + 1, fna.length()); // 有的浏览器获取的是路径+文件名// 若是文件名为空,说明此时没有选择文件,返回,文件上传失败,选择文件if (fname.length() < 1) {//此时没有选择文件}....}

补充知识:elementUI upload图片文件上传到指定后端接口解决方法
1. 一般后端提供接口上传文件都有参数。如果我们不传参就会报错或显示图片不存在,上传失败。所以我们要参考他的文档。action 是上传路径; ==name== 就是传参的属性(关键)。
vue+springboot+element+vue-resource实现文件上传教程
文章图片

imageUrl: '',vue+springboot+element+vue-resource实现文件上传教程
文章图片

handleAvatarSuccess(res, file) {console.log(res)console.log(file)this.imageUrl = URL.createObjectURL(file.raw); console.log(this.imageUrl)},//验证图片格式beforeAvatarUpload(file) {const isJPG = file.type === 'image/jpeg'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) {this.$message.error('上传头像图片只能是 JPG 格式!'); }if (!isLt2M) {this.$message.error('上传头像图片大小不能超过 2MB!'); }return isJPG && isLt2M; },

css代码
/* 图片上传css */ .avatar-uploader /deep/.el-upload {border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; } .avatar-uploader .el-upload:hover {border-color: #409EFF; } .avatar-uploader-icon {font-size: 28px; color: #8c939d; width: 100px; height: 100px; line-height: 100px; text-align: center; } .avatar {width: 100px; height: 100px; display: block; }

参考elementUI文档:https://element.eleme.cn/#/zh-CN/component/upload
以上这篇vue+springboot+element+vue-resource实现文件上传教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读