位置: IT常识 - 正文

elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除(vue中elementui怎么用)

编辑:rootadmin
elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除 Element Upload 上传

推荐整理分享elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除(vue中elementui怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:elementui教程,elementui用法,elementui怎么样,elementui怎么用,element ui el-dialog,element ui el-dialog,element ui el-dialog,element ui el-dialog,内容如对您有帮助,希望把文章链接给更多的朋友!

Element Upload官方文档:el-upload 具体细节只看官方文档,本篇主要介绍避坑点和用法总结

注意点以及坑

本地上传想要回显图片视频,使用on-success是没办法再在上传后获取到本地文件路径后进行回显的,因为只有在上传的action成功,即不报错的情况下才会调用,本地上传用的action="#这个接口不存在,所以也不会上传成功,更不会调用获取到文件参数进行回显

如果想要先在本地进行回显,然后再上传的话,需要使用on-change钩子(还需:auto-upload ="false")获取文件本地路径,再生成一个formData传给后端上传文件的接口,

elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除(vue中elementui怎么用)

官方文档中提供的上传图片接口https://jsonplaceholder.typicode.com/posts/现已无法使用

下面给大家总结几种常用的上传文件方法:

el-upload上传文件用法总结1. 上传单张图片到服务器并进行回显,不可删除只能替换

这种上传单张图片的运行场景一般是上传头像,没有删除功能,只能进行替换

<el-upload class="avatar-uploader" action="后端上传接口" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> <img v-if="imageUrl" :src="imageUrl" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i></el-upload><style> /deep/ .avatar-uploader .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: 178px; height: 178px; line-height: 178px; text-align: center; } .avatar { width: 178px; height: 178px; display: block; }</style><script> export default { data() { return { imageUrl: '' }; }, methods: { // 上传成功后的回显 handleAvatarSuccess(res, file) { this.imageUrl = URL.createObjectURL(file.raw); }, // 上传前对类型大小的验证 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; } } }</script>2. 拖拽上传单张图片到本地回显再上传到服务器,可删除

可以手动上传,也可以拖拽上传,图片可以在没有后端上传接口时进行回显,可删除 template:

<el-upload drag action="#" :show-file-list="false" :auto-upload="false" :on-change="uploadFile" accept="image/jpg,image/jpeg,image/png" > <i v-if="imageUrl1" class="el-icon-circle-close deleteImg" @click.stop="handleRemove1" ></i> <img v-if="imageUrl1" :src="imageUrl1" class="avatar" /> <div v-else> <i class="el-icon-picture" style="margin-top: 40px; font-size: 40px; color: #999a9c" ></i> <div class="el-upload__text1">上传图片</div> <div class="el-upload__text">* 建议尺寸比例2.2:1,不超过4m,</div> <div class="el-upload__text">格式为png、jpeg或jpg</div> </div> </el-upload><style scoped>.deleteImg { font-size: 30px; position: absolute; top: 0; right: 0; z-index: 999;}</style>

data:

data() { return { imageUrl1: '' }; },

method:

uploadFile(item) { console.log(item); let formData = new FormData(); let file = item.raw; this.imageUrl1 = URL.createObjectURL(file); formData.append("file", file); // 传formData给后台就行 // 比如 // 接口(formData).then(res=>{ // this.videoUrl=res.url // }) }, // 删除只需清空imageUrl1即可 handleRemove1(file, fileList) { // console.log(file, fileList); this.imageUrl1 = ""; },

3. 多图上传到服务器,可回显预览删除

list-type="picture-card"hover会自动有预览删除菜单,不需自己写样式,绑定事件即可

<el-upload action="后端接口地址" list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove"> <i class="el-icon-plus"></i></el-upload><el-dialog :visible.sync="dialogVisible"> <img width="100%" :src="dialogImageUrl" alt=""></el-dialog><script> export default { data() { return { dialogImageUrl: '', dialogVisible: false }; }, methods: { handleRemove(file, fileList) { console.log(file, fileList); }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; } } }</script>
本文链接地址:https://www.jiuchutong.com/zhishi/294612.html 转载请保留说明!

上一篇:Vuex系列之 Action 的使用(vue的actions)

下一篇:泛微E9二次开发,对接金蝶云星空,数据同步,表单同步。(泛微oa二次开发难吗)

  • 个税预扣预缴扣除项目有哪些
  • 房产税相关问题
  • 建筑工程怎么确定施工工程进度
  • 2019年所得税季度增值税怎么报
  • 未确认融资费用计算公式
  • 税务未抄报
  • 直接计入当期损益的利得和损失,是指( )的利得或损失
  • 销售无形资产收款通过第三方平台能少交税吗
  • 重复做了以前做过的梦
  • 费用转利润分录怎么做?
  • 预提费用入账依据
  • 实收资本印花税是一年一交吗
  • 企业销售货物后,若发生销货退回或销售折让
  • 股权转让印花税是双方都要缴纳吗
  • 收到专票未抵扣,销售方作废怎么处理
  • 买粽子会计怎么做账
  • 减税必须通过开户银行吗
  • 商票背书需要对方开发票吗
  • 会计如何做调整会计分录
  • 公司账上收到职工的生育津贴如何做账?
  • 从农民手里收的钱叫什么
  • 网络适配器感叹号代码43
  • 腾讯手游助手如何隐藏键位
  • php面向对象优点,缺点
  • php字符串定义
  • 会计凭证应该怎么写
  • 博茨瓦纳热吗
  • 计提补贴会计分录
  • 暂估原材料的数量怎么算
  • 前端框架源码
  • 小规模纳税人上月发票开错了怎么办
  • 应付国库集中支付结余在什么时候确认
  • react devtools
  • 财务报表没有申报会影响领发票吗
  • 研发支出属于什么类科目
  • 个税的本期收入是什么意思
  • 小规模纳税人养老保险怎么交
  • mysql数据库如何回滚
  • 出口发票已经抵扣认证怎么办
  • 开立一般户需要法人到场吗
  • 企业怎么开启承兑业务
  • macos mysql安装
  • 可供出售金融资产新准则叫什么
  • 城镇土地使用税税率
  • 什么叫生活补助
  • 银行承兑汇票收款人是谁
  • 驾校挂靠车辆账务处理是?
  • 从事股权投资业务的企业业务招待费
  • 商业地产会计账务怎么做
  • 应付账款在借方
  • 固定资产会计核算方法
  • sqlserver高可用集群搭建
  • windows7录音怎么录
  • 如何修改linux系统名称
  • os x yosemite10.10.4beta2更新了哪些内容 os x yosemite性能增强和bug修复以及下载
  • msn无法登录
  • win10系统onenote不能用
  • 最新版win10版本号
  • python中的json
  • glimp使用方法
  • 如何除掉
  • mysql 导出指定表
  • 批处理实现电脑登陆二次验证
  • unity3d的游戏
  • centos6安装python
  • vue实现标签页效果
  • 安装node-sass报错
  • node.js golang
  • shell脚本实际运用
  • jquery ui dialog替代confirm实例分析
  • unity加密代码
  • jquery trigger实现联动的方法
  • JQuery之proxy实现绑定代理方法
  • javascript教程完整版
  • python中的字符串的英文
  • 包装物押金收入含税吗
  • 上海地区附加税税率
  • 冻结银行账户属于什么
  • 江苏国税申报怎么操作流程
  • 浙江省打造先行省
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设