首页
Preview

antdv上传图片前压缩图片

在使用 Ant Design 的上传组件时,如果需要在上传前对图片进行压缩,可以使用一些 JavaScript 库来实现。一个常用的库是 compressorjs,它可以在客户端对图片进行压缩。

以下是一个简单的使用示例:

首先,确保你的项目中已经安装了 compressorjs 库。你可以通过 npm 安装:

yarn add compressorjs

然后,使用以下代码示例在上传前压缩图片:

<a-upload
    v-model:file-list="fileList"
    :action="getBaseUrlHTTP()+'v1/upload'"
    :headers="{
    Authorization: `Bearer ${getAccessToken()}`
  }"
    multiple
    :maxCount="9"
    list-type="picture-card"
    :before-upload="beforeUpload"
    @preview="handlePreview"
    @remove="handleRemove"
    @change="handleFileChange"
>
</a-upload>

js 部分



<script setup lang="ts">
import Compressor from 'compressorjs';

const beforeUpload = file => {
  return new Promise((resolve, reject) => {
    new Compressor(file, {
      quality: 0.6,
      success(result) {
        resolve(result)
      },
      error(err) {
        console.error('Image compression error:', err)
        reject(err)
      },
    });
  })
};
<script>

上述代码中,beforeUpload 函数使用了 compressorjs 库对图片进行压缩。在 Compressor 构造函数中,你可以通过调整 quality 参数来控制压缩的质量,范围为 0 到 1。

请注意,由于压缩是在客户端进行的,可能会占用一定的客户端资源。在处理大量图片上传时,需要谨慎使用,以避免影响用户体验。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
明浩
北漂一族

评论(0)

添加评论