el-upload上传图片不使用action属性

复制代码
<el-upload
action="#"
ref="upload"
list-type="picture-card" //照片墙的样式
:on-change="handleChange"
:http-request="httpRequest" :before-upload="beforeAvatarUpload"> <i class="el-icon-plus"></i> </el-upload>
复制代码

注:不使用action属性就设置为#,然后自定义上传http-request,element文档里有。action属性不能去掉

根据个人需求,我这里只要一张,每次选择就会把前一张删除
handleChange(file, fileList) {
   if (fileList.length > 1) {
       fileList.shift()
   }
},

   这里也可以对上传的图片做一些限制

 

复制代码
beforeAvatarUpload(file) {
   const isImg = file.size / 1024 / 1024 < 2
   if (!isImg) {
      this.$message.error('上传头像图片大小不能超过 2MB!')
   }
    
   const isType = file.type === "image/png"
   const isType2 = file.type === "image/jpeg"

   if (!isType && !isType2) {
     this.$message.error('上传头像图片格式为png或jpg')
   }
   return (isType || isType2) && isImg
},
复制代码

 

  然后就是自定义的上传方法

复制代码
httpRequest(data) {
  let _this = this  // 这里要转一下是因为在下面的function里 this的指向发生了变化
  let rd = new FileReader()
  let file = data.file
  rd.readAsDataURL(file)
  rd.onloadend = function(e) {
     _this.addData.icon = this.result
  }
},
(_this.addData.icon 是新增的时候图片的参数字段,this.result就是选中的图片转成的base64
复制代码

  最后清空el-upload

this.$refs.upload.clearFiles();

 

posted @   环岛公路  阅读(10404)  评论(3编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示