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

做学校子网站企业做网站的凭证怎么做

做学校子网站,企业做网站的凭证怎么做,wordpress 修订版本,为什么要建设外贸网站大型纪录片#xff1a;学习若依源码#xff08;前后端分离版#xff09;之 “ 上传图片功能实现” 前言前端部分后端部分结语 前言 图片上传也基本是一个项目的必备功能了#xff0c;所以今天和大家分享一下我最近在使用若依前后端分离版本时#xff0c;如何实现图片上传… 大型纪录片学习若依源码前后端分离版之 “ 上传图片功能实现” 前言前端部分后端部分结语 前言 图片上传也基本是一个项目的必备功能了所以今天和大家分享一下我最近在使用若依前后端分离版本时如何实现图片上传功能的经验和心得。 前端部分 在前端部分我主要使用了两个组件来实现图片上传功能分别是el-upload组件和vue-cropper组件。想要简单实现图片上传用el-upload就足够了。这里就以ul-upload为例要是想要看vue-cropper的可以评论区留言。 页面相关代码 el-form-item label头像路径imageUpload v-modelform.avatar//el-form-itemimageUpload为自定义组件具体代码如下 div classcomponent-upload-imageel-upload:actionuploadImgUrllist-typepicture-card:on-successhandleUploadSuccess:before-uploadhandleBeforeUpload:limitlimit:on-errorhandleUploadError:on-exceedhandleExceednamefile:on-removehandleRemove:show-file-listtrue:headersheaders:file-listfileList:on-previewhandlePictureCardPreview:class{hide: this.fileList.length this.limit}i classel-icon-plus/i/el-upload!-- 上传提示 --div classel-upload__tip slottip v-ifshowTip请上传template v-iffileSize 大小不超过 b stylecolor: #f56c6c{{ fileSize }}MB/b/templatetemplate v-iffileType 格式为 b stylecolor: #f56c6c{{ fileType.join(/) }}/b/template的文件/divel-dialog:visible.syncdialogVisibletitle预览width800append-to-bodyimg:srcdialogImageUrlstyledisplay: block; max-width: 100%; margin: 0 auto//el-dialog/divel-upload组件是一个非常强大和灵活的上传组件它提供了很多属性和事件来控制上传过程。以下是使用el-upload组件时用到的一些属性和事件 action这个属性用来指定上传地址即后端接收文件的接口地址。 headers这个属性用来指定请求头例如携带token等信息。limit这个属性用来指定文件数量限制例如只能上传一张图片。如果用户选择或上传的文件超过了这个限制那么会触发on-exceed事件该事件可以用来显示一个错误提示信息。file-list这个属性用来指定文件列表即已经上传或者待上传的文件信息。on-success这个事件用来指定上传成功回调函数例如显示成功提示信息。on-error这个事件用来指定上传失败回调函数例如显示失败提示信息。http-request这个事件用来指定自定义上传请求函数例如使用axios等工具来发送post请求并携带相关的参数和请求头。 相关方法 props: {value: [String, Object, Array],// 图片数量限制limit: {type: Number,default: 5,},// 大小限制(MB)fileSize: {type: Number,default: 5,},// 文件类型, 例如[png, jpg, jpeg]fileType: {type: Array,default: () [png, jpg, jpeg],},// 是否显示提示isShowTip: {type: Boolean,default: true}},data() {return {dialogImageUrl: ,dialogVisible: false,hideUpload: false,baseUrl: process.env.VUE_APP_BASE_API,uploadImgUrl: process.env.VUE_APP_BASE_API /common/upload, // 上传的图片服务器地址headers: {Authorization: Bearer getToken(),},fileList: []};},// 删除图片handleRemove(file, fileList) {const findex this.fileList.map(f f.name).indexOf(file.name);if (findex -1) {this.fileList.splice(findex, 1);this.$emit(input, this.listToString(this.fileList));}},// 上传成功回调handleUploadSuccess(res) {this.fileList.push({name: res.fileName, url: res.fileName});this.$emit(input, this.listToString(this.fileList));this.loading.close();},// 上传前loading加载handleBeforeUpload(file) {let isImg false;if (this.fileType.length) {let fileExtension ;if (file.name.lastIndexOf(.) -1) {fileExtension file.name.slice(file.name.lastIndexOf(.) 1);}isImg this.fileType.some(type {if (file.type.indexOf(type) -1) return true;if (fileExtension fileExtension.indexOf(type) -1) return true;return false;});} else {isImg file.type.indexOf(image) -1;}if (!isImg) {this.$message.error(文件格式不正确, 请上传${this.fileType.join(/)}图片格式文件!);return false;}if (this.fileSize) {const isLt file.size / 1024 / 1024 this.fileSize;if (!isLt) {this.$message.error(上传头像图片大小不能超过 ${this.fileSize} MB!);return false;}}this.loading this.$loading({lock: true,text: 上传中,background: rgba(0, 0, 0, 0.7),});},// 文件个数超出handleExceed() {this.$message.error(上传文件数量不能超过 ${this.limit} 个!);},// 上传失败handleUploadError() {this.$message({type: error,message: 上传失败,});this.loading.close();},// 预览handlePictureCardPreview(file) {this.dialogImageUrl file.url;this.dialogVisible true;},// 对象转成指定字符串分隔listToString(list, separator) {let strs ;separator separator || ,;for (let i in list) {strs list[i].url.replace(this.baseUrl, ) separator;}return strs ! ? strs.substr(0, strs.length - 1) : ;}}这都是作者封装好的需要使用的话直接调用改组件就好了。 效果如下 后端部分 PostMapping(/common/upload)在选择图片后默认会调用这个通用的上传方法然后它就会返回文件名和在文件所在的路径返回文件名是因为在修改的时候替换掉原来的文件名。亦或者是新增的时候返回文件名。返回路径比较好理解就相当于一个回显了嘛。 /*** 通用上传请求*/PostMapping(/common/upload)public AjaxResult uploadFile(MultipartFile file) throws Exception {System.out.println(i am coming);try {// 上传文件路径String filePath RuoYiConfig.getUploadPath();// 上传并返回新文件名称String fileName FileUploadUtils.upload(filePath, file);String url serverConfig.getUrl() fileName;AjaxResult ajax AjaxResult.success();ajax.put(fileName, fileName);ajax.put(url, url);System.out.println(filename____ ajax);return ajax;} catch (Exception e) {return AjaxResult.error(e.getMessage());}}结语 后端通过这个方法我们就可以实现图片上传了。是不是很简单呢如果我哪里漏了没讲可以评论私信。 那么以上就是唐某的一些理解。这次的分享就到这里了。记得一键三连~( •̀ ω •́ )✧
http://www.yutouwan.com/news/374809/

相关文章:

  • 中国制造网网站建设的优势类似wordpress的博客
  • 静态网站开发课程网希爱力双效片
  • 雄县网站建设网站数据不变重新安装wordpress
  • 帝国做网站网站建设网站模板
  • 男女做羞羞羞的事视频网站如何选择做pc端网站
  • 东莞市建设监督网站首页网站建设飠金手指科杰十二
  • 关于建设招商网站的通知wordpress下载安装
  • 活泼的网站棋牌网站搭建公司
  • 泰安网站制作推荐看室内设计案例的网站
  • 齐齐哈尔网站建设网站后台如何修改密码
  • 网站首页排版设计电商运营的基本内容
  • html5 metro风格网站模板没有网站可以做百度推广吗
  • 祥云平台做网站如何怎么做网页设计视频
  • dede建设网站软文代理平台
  • 越南做购物网站仙桃网站设计
  • 企业网站开发期末报告wordpress添加网址为导航
  • 网站推广营销怎么做网和网站的区别
  • 百度商桥接入网站手机wordpress无法评论
  • 营销推广渠道有哪些大连优化网站课程
  • 搭建一个20人的办公网络静态网站seo怎么做
  • 网站设计好做吗广告公司怎么宣传自己
  • 手机上的网站完全不收费的聊天软件
  • 昆山移动网站建设传奇世界网页版论坛
  • 网站制作公司有哪些证网站的收录情况怎么查
  • 大连市城市建设管理局网站中国菲律宾友谊
  • 网站建设实施背景分析wordpress代码缓存
  • 网站上传的图片不显示效果图制作软件app
  • wordpress适应式网站博客模板wordpress提交百度站长
  • 网站建设课程设计实训心得类似wordpress的图片上传
  • 佛山网站制作哪家好wordpress小程序发表文章