前端Vue图片上传组件支持单个文件多个文件上传 自定义上传数量 预览删除图片 图片压缩, 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13099

效果图如下:

1.0.0(2023-06-18)

组件初始化

使用方法


<!-- count: 最大上传数量  imageList: 图片上传选择数组--> <cc-imgPreDelUpload :count="6" :imageList="imgList"></cc-imgPreDelUpload> <!-- 上传请求事件 --> goUploadClick() { if (this.imgList.length < 1) { uni.showModal({ title: '温馨提示', content: '请上传图片' }) return; } console.log('图片上传数组 = ' + JSON.stringify(this.imgList)); // 服务器地址上传地址 仅为示例,非真实的接口地址 let baseUrl = "http://gzcc.com/cc//appSc/up" uni.showLoading({ title: '上传中' }) const uploadTask = uni.uploadFile({ url: baseUrl, //仅为示例,非真实的接口地址 files: this.imgList, //请求图片数组 formData: {}, //请求参数 success: (uploadFileRes) => { uni.hideLoading(); console.log('上传成功 = ' + uploadFileRes.data); } }); uploadTask.onProgressUpdate((res) => { if (typeof(res.progress) != String) { res.progress = '0'; } // 此处为了模拟上传进度 uni.showLoading({ title: '上传进度: ' + res.progress + '%' }) console.log('上传进度' + res.progress); console.log('已经上传的数据长度' + res.totalBytesSent); console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend); }); } }

HTML代码部分


<template> <view class="content"> <!-- count: 最大上传数量  imageList: 图片上传选择数组--> <cc-imgPreDelUpload :count="6" :imageList="imgList"></cc-imgPreDelUpload> <button style="width: 120px;background-color: antiquewhite; margin-top: 60px;" @click="goUploadClick"> 上传 </button> </view> </template> <script> export default { data() { return { imgList: [] } }, methods: { goUploadClick() { if (this.imgList.length < 1) { uni.showModal({ title: '温馨提示', content: '请上传图片' }) return; } console.log('图片上传数组 = ' + JSON.stringify(this.imgList)); // 服务器地址上传地址 仅为示例,非真实的接口地址 let baseUrl = "http://gzcc.com/cc//appSc/up" uni.showLoading({ title: '上传中' }) const uploadTask = uni.uploadFile({ url: baseUrl, //仅为示例,非真实的接口地址 files: this.imgList, //请求图片数组 formData: {}, //请求参数 success: (uploadFileRes) => { uni.hideLoading(); console.log('上传成功 = ' + uploadFileRes.data); } }); uploadTask.onProgressUpdate((res) => { if (typeof(res.progress) != String) { res.progress = '0'; } // 此处为了模拟上传进度 uni.showLoading({ title: '上传进度: ' + res.progress + '%' }) console.log('上传进度' + res.progress); console.log('已经上传的数据长度' + res.totalBytesSent); console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend); }); } } } </script> <style> .content { display: flex; flex-direction: column; } </style>

前端Vue图片上传组件支持单个文件多个文件上传 自定义上传数量 预览删除图片 图片压缩的更多相关文章

  1. 分享一个react 图片上传组件 支持OSS 七牛云

    react-uplod-img 是一个基于 React antd组件的图片上传组件 支持oss qiniu等服务端自定义获取签名,批量上传, 预览, 删除, 排序等功能 需要 react 版本大于 v ...

  2. javascript实现 京东淘宝等商城的商品图片大图预览功能(图片放大器)

      在京东和淘宝等购买东西的时候,我们会经常预览左侧商品展示图片,把鼠标放到原图,右侧就会有个大图显示出细节.本文将带领大家写一个这样简单的功能! 一.实现原理 当鼠标移入某一图片内部时,图片上部会出 ...

  3. Ubuntu下预览raw格式图片

    默认Ubuntu下资源管理器是不可以直接预览raw格式图片的,这就给查看图片带来很大的不便,下面我们就选择安装UFRaw来预览Raw格式图片 1. 首先在terminal安装UFRaw sudo ap ...

  4. js_ajax模拟form表单提交_多文件上传_支持单个删除

    需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...

  5. 用Ajax图片上传、预览、修改图片

    首选图片的上传和下载并不是很难,但要注意细节. 一,给出前端图片上传的html代码 1.图片上传的控件 <img src="/${res}/images/default.png&quo ...

  6. 微信小程序图片上传放大预览删除代码

    效果: 一,下面是上传图片的效果 image.js代码: Page({ //选择相册或拍照 data: { imgs: [] }, //上传图片 chooseImg: function (e) { v ...

  7. js 仿微信投诉—引入vue.js,拆分组件为单个js

    效果 页面目录 index.html <!DOCTYPE html > <html> <head> <meta charset="UTF-8&quo ...

  8. js上传图片前预览方法(支持预览多个图片)

    运用js实现上传图片前的预览(支持多张图片),实现的例子如下: 1.源码例子: 1)Js脚本页面 <!doctype html> <html> <head> < ...

  9. HTML5时代的纯前端上传图片预览及严格图片格式验证函数(转载)

    原文地址:http://www.2cto.com/kf/201401/274752.html 一.要解决什么样的问题? 在写这个函数之前,有们童鞋在群里问如何纯前端严格验证图片格式.这在html5时代 ...

  10. 使用FileReader实现前端预览所选图片

    需求描述 在浏览器环境下进开发网站(也就是B/S架构的应用),获取到当前设备上的图片后,希望可以在上传到服务器前简单预览一下图片内容. 具体实现 主要代码 html 部分 <input type ...

随机推荐

  1. docker方式实现postgres数据持久化离线安装

    保存镜像 root@hello:~# docker pull postgres Using default tag: latest latest: Pulling from library/postg ...

  2. pysimplegui之常用元素介绍

    1文本元素 | T == Txt == Text 2多行文本sg.Multiline('This is what a Multi-line Text Element looks like', size ...

  3. [Linux]常用命令之【hostname】

    1: 个人的片面理解: hostname是主机名(的"昵称"),而非域名.一般设置hostname,来标识当前机器的主要用途.以区别与其它机器 2: hostname的严格定义: ...

  4. 开心档之MySQL ALTER命令

    MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@ho ...

  5. 利用Velero对K8S备份还原与集群迁移实战

    一.简介 Velero 是一款云原生时代的灾难恢复和迁移工具,采用 Go 语言编写,并在 github 上进行了开源,利用 velero 用户可以安全的备份.恢复和迁移 Kubernetes 集群资源 ...

  6. DRF的filter组件

    DRF的Filter组件 如果某个API需要传递一些条件进行搜索,其实就在是URL后面通过GET传参即可,例如: /api/users?age=19&category=12 在drf中filt ...

  7. 2022-07-08:以下go语言代码输出什么?A:3;B:+Inf;C:true;D:编译错误。 package main import “fmt“ func main() { var

    2022-07-08:以下go语言代码输出什么?A:3:B:+Inf:C:true:D:编译错误. package main import "fmt" func main() { ...

  8. 2020-11-23:go中,s是一个字符串,s[0]代表什么?是否等于固定字节数?

    福个答案2020-11-23:Golang 的字符串(string)是合法的 UTF-8 序列,这就涉及到了两种不同的遍历方式,一种是按照 Unicode 的 codepoint 遍历,另一种是把 s ...

  9. 2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”关系有传递性,所以A也认为C是红人, 给定一张有向图,方式是给定M个有

    2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定"认为"关系有传递性,所以A也认为C是红 ...

  10. Linux搭建FTP服务

    欢迎来到千汐   博客名称:千秋云染博客网址:https://www.cnblogs.com/skyrainmom 寄语:在混乱不堪的世界里你只管前行,时间替会证明一切 world cookie He ...