AntDesign 自定义图片上传前端压缩画质

为什么压缩图片?

应为现在公司没有使用云数据库 从而为了减少服务器的消耗需要将用户上传的图片压缩

前端压缩图片的技术选择!

查阅资料发现当下两种压缩的方法!!第一种使用工具库实现 npm install image-conversion --save

第二种通过画布实现!!!

第一种实现方法连接:https://blog.csdn.net/Superman_peng/article/details/107740407

第二种实现:

Canvas

1、需要将我们上传的文件获取到将file传递到函数中

    //压缩图片CompressImg(file) {return new Promise(resolve => {// 图片压缩let reader = new FileReader(), img = new Image();reader.readAsDataURL(file);reader.onload = function (e) {img.src = e.target.result;};img.onload = function () {let canvas = document.createElement('canvas');let context = canvas.getContext('2d');//设置画布的宽高从而限制图片的宽高let originWidth = 300;let originHeight = 300;canvas.width = originWidth;canvas.height = originHeight;context.clearRect(0, 0, originWidth, originHeight);context.drawImage(img, 0, 0, originWidth, originHeight);canvas.toBlob(blob => {// 将blob对象转化为图片文件let imgFile = new File([blob], file.name, {type: file.type});resolve(imgFile);}, file.type, 0.2); // file压缩的图片类型};});},

2、此时图片也就压缩成功  将图片imgFile传递到上传图片的方法中即可..........

但是使用AntDesign无法实现在自动提交前对图片处理......也就是说不可以自动提交修改图片大小 所以将action关闭开启

:custom-request="customRequest"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/89737.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:权限

目录 一、shell运行原理 二、权限 1.权限的概念 2.文件访问权限的相关设置方法 三、常见的权限问题 1.目录权限 2.umsk(权限掩码) 3.粘滞位 一、shell运行原理 1.为什么我们不是直接访问操作系统? ”人“不善于直接使用操作系统如果让人直接访问操作系统&a…

qt day 1

this->setWindowIcon(QIcon("D:\\zhuomian\\wodepeizhenshi.png"));//設置窗口的iconthis->setWindowTitle("鵬哥快聊");//更改名字this->setFixedSize(500,400);//設置尺寸QLabel *qlnew QLabel(this);//創建一個標簽ql->resize(QSize(500,20…

论文笔记:从不平衡数据流中学习的综述: 分类、挑战、实证研究和可重复的实验框架

0 摘要 论文:A survey on learning from imbalanced data streams: taxonomy, challenges, empirical study, and reproducible experimental framework 发表:2023年发表在Machine Learning上。 源代码:https://github.com/canoalberto/imba…

Next.js基础语法

Next.js 目录结构 入口App组件(_app.tsx) _app.tsx是项目的入口组件,主要作用: 可以扩展自定义的布局(Layout)引入全局的样式文件引入Redux状态管理引入主题组件等等全局监听客户端路由的切换 ts.config…

软考:中级软件设计师:HTML

软考:中级软件设计师:HTML 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &#xff…

华为AR路由器 典型配置案例——以太网交换

目录 Eth-Trunk 例:配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例:配置基于接口划分VLAN,实现同一VLAN内的互通(同设备) 组网需求 操作步骤 检查配置结果 配置脚本 举例&#xff…

〔019〕Stable Diffusion 之 单图中绘制多人分区域写提示词 篇

✨ 目录 🎈 下载区域绘制插件🎈 区域绘制使用🎈 参数讲解和基础使用🎈 Lora 自组🎈 Lora 自组的使用🎈 分区扩散🎈 分区域提示 🎈 下载区域绘制插件 在绘制图片时,经常绘…

stm32----SPI协议

一、概述 SPI(Serial Peripheral Interface,串行外围设备接口),是Motorola公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,节约…

基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码

基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于非洲秃鹫算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.非洲秃鹫优化BP神经网络2.1 BP神经网络参数设置2.2 非洲秃鹫算法应用 4.测试结果:5…

【【萌新的STM32学习-18 中断的基本概念3】】

萌新的STM32学习-18 中断的基本概念3 EXTI和IO映射的关系 AFIO简介(F1) Alternate Function IO 复用功能IO 主要用于重映射和外部中断映射配置 1.调试IO配置 来自AFIO_MAPR[26:24] , 配置JTAG/SWD的开关状态 (这个我们并不用太过深刻的关注&…

Fedora Linux 的家族(一):官方版本

导读本文将对 Fedora Linux 官方版本进行更详细的介绍。共有五个 版本: Fedora Workstation、Fedora Server、Fedora IoT、Fedora CoreOS 和 Fedora Silverblue。Fedora Linux 下载页面目前显示其中三个为 官方 版本,另外两个为 新兴 版本。本文将涵盖所…

使用Python和systemctl管理Linux系统服务的简便工具

前言 本文介绍了一个实用工具,用于在Linux系统上管理systemctl服务。该工具提供了创建、安装、卸载、启动和停止服务的功能,帮助用户轻松地管理和控制正在运行的服务。 通过使用该代码,你可以轻松地执行以下操作: 创建服务文件&…