vue+springboot+element+vue-resource实现文件上传教程
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要介绍了vue+springboot+element+vue-resource实现文件上传教程,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
vue页面设置
<el-upload class="upload-demo" action="" :before-upload="beforeUpload" //上传前操作 :before-remove="beforeRemove" //移除钱操作 :multiple="false" //禁止多选 :http-request="myUpload" //文件上传,重写文件上传方法,action的路径不会起作用 aept=".jar" //限制文件选择类型 :drag="false" :data="param" //参数 :file-list="fileList">//文件显示列表 <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jar文件,且不超过500kb</div><!-- :headers="head"--> </el-upload><!--:on-preview="handlePreview"--> /文件上传前,判断文件名是否存在,等其他处理/ beforeUpload(file){ console.log("文件名",file.name,this.fileList) for (let i = 0; i <this.fileList.length ; i++) { if (this.fileList[i].name==file.name) { this.$message.info("文件已存在"); return false; } } this.file=file; return true; }, /文件移除前,提示是否删除/ beforeRemove(file,fileList){//delJar this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { 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) { .... }); },
fileList一个对象的内容
name:"xxxx.jar" status:"suess" uid:123456456
参数
this.param={ taskId:this.taskId }
springboot设置
1.请求的注解:produces = "multipart/form-data;charset=utf-8", method = RequestMethod.POS
@RequestMapping(value = "/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.jar String 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== 就是传参的属性(关键)。
imageUrl: '', <el-form-item label="封面图片" :required="true"> <el-upload class="avatar-uploader" action="http://xxx./xx/file/uploadImg/" name='photo' :show-file-list="false" :on-suess="handleAvatarSuess" :before-upload="beforeAvatarUpload"> <img v-if="imageUrl" :src="imageUrl" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </el-form-item>
handleAvatarSuess(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文档
以上这篇vue+springboot+element+vue-resource实现文件上传教程就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
上一篇:element中table高度自适应的实现
下一篇:原生小程序封装跑马灯效果
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指