vue实现拖拽或点击上传图片
本文实例为大家分享了vue实现拖拽或点击上传图片的具体代码,供大家参考,具体内容如下
一、预览图
文章图片
文章图片
二、实现
点击上传思路:将input的type设置为“file”类型即可上传文件。隐藏该input框,同时点击按钮时,调取该input的点击上传功能。剩下的就是css优化页面了。
拖拽上传思路:通过给拖拽框dropbox绑定拖拽事件,当组件销毁时解绑事件。在拖拽结束,通过event.dataTransfer.files获取上传的文件信息。然后在对文件进行上传服务器操作。
接下来请允许我简单介绍一下各个组件:
【vue实现拖拽或点击上传图片】upload.vue封装了点击上传的逻辑,而进度条则没有做,后期可基于percent做参数继续完善进度条;uploadFormDialog.vue是父盒子,即点击上传按钮后弹出的对话框,在该组件中需要完成页面的布局,拖拽上传等逻辑;
这样封装的意义是为了使得代码更便于维护。
upload.vue 点击上传组件
选择文件 .file-selector {.selector-btn {&:hover {background-color: rgba($color: #2976e6, $alpha: 0.8); transition: background 180ms; }}&-input {display: none; }}
uploadFormDialog.vue 上传对话框
.rightBox {width: 260px; height: 250px; border: 1px solid #ccc; margin-top: 18px; .uploadBg {width: 150px; height: 125px; background: url("../../../../assets/upload.png") no-repeat center center; background-size: contain; }.tip {font-size: 13px; color: rgba(0, 0, 0, 0.87); }.tinyTip {font-size: 12px; color: #8e8f9e; }} 点击上传按钮,或拖拽文件到框内上传请选择不大于 10M 的文件
注:以上代码用到了我们自己封装的组件库和自己封装的一些方法,请根据具体场景进行相关的修改。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆