vue-cropper + ant-design-vue 实现裁剪图片并上传到服务器

需求:

上传的图片要进行裁切或压缩到C端显示的格式与大小

主要应用于PC端的后管 涉及到新增过程 与图片回显(修改)

思路:

  1. 点击上传,从本地选择图片文件
  2. 选择文件夹后进入模态框(将选择的图片塞入模态框) 模态框作为裁剪图片的容器
  3. 进行裁剪
  4. 获取裁剪后的结果 并将裁剪后的图片对象返回给父组件
  5. 父组件获取到裁剪后的图片文件 进行上传 成功后将图片回显

修改过程:

  1. 将后端数据回显到图片框内
  2. 点击图片 重复上述1-5步 成功后覆盖掉当前页面图片

开发:

图片上传框组件:

<template>
  <div>
    <a-upload
      name="avatar"
      listType="picture-card"
      class="avatar-uploader"
      :showUploadList="false"
      :beforeUpload="beforeUpload"
      :customRequest="function(){}"
      @change="handleChange"
    >
      <img class="default-img" v-if="imageUrl" :src="imageUrl" alt="avatar" />
      <div v-else>
        <a-icon :type="loading ? 'loading' : 'plus'" />
        <div class="ant-upload-text">点击上传</div>
      </div>
    </a-upload>

    <!-- modal -->
    <cropper-modal ref="cropperModal" @ok="handleCropperSuccess"></cropper-modal>
  </div>
  
</template>
<script>
import cropperModal from "./cropperModal"
import Utils from "@/utils/util"
export default {
  name:'imgCropper',
  components:{
    cropperModal
  },
  props:{
    //图片格式
    imgFormat:{
      type:Array,
      default:function(){
        return ['image/jpeg']
     
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值