位置: 编程技术 - 正文

Vue的移动端多图上传插件vue-easy-uploader的示例代码(vue移动端图片预览)

编辑:rootadmin

推荐整理分享Vue的移动端多图上传插件vue-easy-uploader的示例代码(vue移动端图片预览),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue移动端图表,vue怎么让图片多停留,vue移动端图片预览,vue图片多选,vue移动端上传多张图片,vue移动端图片预览,vue多图上传,vue多图上传,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

这段时间赶项目,需要用到多文件上传,用Vue进行前端项目开发。在网上找了不少插件,都不是十分满意,有的使用起来繁琐,有的不能适应本项目。就打算自己折腾一下,写一个Vue的上传插件,一劳永逸,以后可以直接使用。

目前vue-easy-uploader已上传到GitHub和NPM,使用起来方便简单,不需要繁琐的配置即可投入生产,不过需要后端配合,实现上传接口。

本项目GitHub地址: 多文件上传 上传图片预览 上传状态监测 删除指定图片 清空图片 重新上传

后期版本迭代将不限于图片,往通用文件上传进行改进。

先看看上传插件使用时候的效果图:

目录结构

文件解析

index.js

这是插件的主入口文件,注册了全局的上传组件和状态管理,使用时只需要在项目入口文件(一般是main.js)中加入以下代码即可引入此插件:

store.js

此文件为状态管理配置文件,主要包含三个state:

针对每个state都有自己的mutation,用于改变state,规范上mutation都需要使用大写字母加下划线的形式,本人习惯使用小写字母,不过都不是原则上的问题。

Vue的移动端多图上传插件vue-easy-uploader的示例代码(vue移动端图片预览)

最重要的一个state是img_status,用于监视图片上传的状态。包括以下几个状态:

在组件中可以通过改变上传状态实现文件的上传,同时也可以监听上传状态的变化而执行回调。如:

上述代码中,使用upload方法更新了上传状态,让图片开始执行上传操作,使用watch进行上传状态的监视,当上传完成(img_status状态变为finished),执行回调函数submit。

源文件如下:

uploader.vue

先看源代码(为了节省空间,未贴出style部分的代码):

以上代码中有一些注释序号,是此插件设计的主要思路,其他代码都比较容易理解,分别说下

① 选择文件后执行,img_status状态变为selected。② 将带上传的图片文件转化为Base格式,用于缩略图显示。③ 创建一个表单对象,用于存储待上传的文件。④ 注意这里的name属性值,暂时写死,后面设计打算从组件中指定name属性,如果是多文件的话,name属性的数组序号从0开始递增。⑤ 未依赖任何Ajax请求插件,使用原生的XMLHttpRequest对象创建请求。⑥ 存储上传成功后服务器返回的上传路径。⑦ 检测上传状态,当在使用此插件时将img_status的状态设置为uploading时执行上传操作。

使用

参考本项目的GItHub和NPM。

注意

使用此插件时,需要与后端约定返回的数据格式,如下:

预览如下:

返回的是一个上传后的路径数组,包括error和url字段,每个文件有自己的上传状态,当error为0的时候为上传成功,并返回上传后的路径url

改进

后续版本打算进行如下改进

把表单的name属性名称通过组件传递。 自定义上传成功后服务器响应的数据格式,比如自定义error的名称和其值所表示的状态。 支持其他类型文件的上传,可以在组件中自行制定上传的文件类型,及其预览方式。

标签: vue移动端图片预览

本文链接地址:https://www.jiuchutong.com/biancheng/378910.html 转载请保留说明!

上一篇:vue实现商城购物车功能(基于vue的购物系统)

下一篇:vue实现商城上货组件简易版(vue购物商城)

  • 销售部门使用的管理设备计提的折旧应计入的账户为
  • 农民收购农产品发票
  • 企业所得税申报时间
  • 预收货款开票怎么做账
  • 公司购买的理财产品所得需要缴纳企业所得税吗?
  • 分公司报增值税吗
  • 技术入股亏损如何清算
  • 第二季度的季初资产总额和季末资产总额怎么填
  • 产成品入库金额和售价一样嘛
  • 企业股利分配政策有哪些
  • 辞退职工赔偿金如何计算
  • 怎么处理未抵扣增值税形成的留抵税额?
  • 发生成本支出发票未到
  • 出口的进项发票如何记账
  • 工程预付款需要监理审批吗
  • 国有企业的所得税怎么算
  • 案例分析工程发票进项高于销项怎么抵扣?
  • 土建税率是多少
  • 开培训费专用发票开票有具体要求吗?
  • 取得专用发票不交增值税
  • 建筑工程发票抵扣有时间限制吗
  • 房地产公司需要和哪些部门打交道
  • 个人所得税累计减免税额为0
  • 销售退货怎么开红字
  • 资产负债表期初和期末指的是什么
  • 金税四期查到了怎么办
  • retrorun.exe - retrorun有什么用 是什么进程
  • pacis.exe - pacis是什么进程 有什么用
  • 工程项目科目如何设置
  • 一次性收入怎么交税
  • php文字转语音源码
  • 薄雾笼罩着整个森林
  • php如何生成html
  • 深度卷积神经网络基本结构
  • 自动驾驶科普
  • 单元测试的测试工具
  • 物业代收代缴费 没住户怎么办
  • systoolspace
  • 应纳税所得额100-300万税率
  • 购买样品入库的账务处理
  • 土地使用权的使用方式
  • 手机话费怎么打发票
  • 餐饮行业的增值税
  • 个人出租非住房房产税
  • 民非企业银行利息计入其他收入,那增值税申报吗
  • 成本法合并抵消分红
  • 公司处置汽车
  • 小规模纳税人网上报税
  • 合同权益如何进行转让
  • 毛利率在餐饮中的应用
  • mysql查询时间段的交集数据
  • 转让无形资产或其他资产
  • 差额征收的会计分录
  • 交哪些费用
  • 不抵扣进项税额转出怎么做分录处理
  • 让渡资产使用权收入属于收入吗
  • 购买车辆的进项税怎么勾选
  • 银行汇票哪个科目
  • 持有至到期投资改名为
  • 系统多交税款放在哪里
  • 浅谈mysql explain中key_len的计算方法
  • mac如何更换系统
  • freebsd使用
  • 浏览器登录淘宝安全吗
  • 怎么删除win7系统
  • win7下安装XP
  • win7系统的图片
  • win10更新补丁后共享打印机无法使用
  • WIN10怎么卸载更新
  • unity ui坐标
  • js插件写法
  • 用户允许控制
  • unity3d官方案例
  • node中异步编程模式使用什么捕获异常
  • 深入理解javascript特性.pdf
  • 陕西国税电子税务局app
  • 企业注销认缴与实缴是否还有风险
  • 汽车商业险退保还有手续费吗
  • 年度关联业务往来报告
  • 小规模纳税人的增值税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设