image-conversion 图片压缩并将默认返回的blob格式转换为file格式再上传,vue

1.安装

npm i image-conversion --save

或者

yarn add image-conversion

2.引入

import * as imageConversion from 'image-conversion'

3.使用

    /* 文件上传 */
    async handleUpload(file, attachType) {
      let _ = this,
        formData = new FormData();

      //返回的是blob格式,后端请求是file格式  如果是blob格式无需转换
      const blob = await imageConversion.compressAccurately(file.file, 600);

      let name = file.file.name
      //将blob格式转换为file格式
      var files = new File([blob], name, {type: 'image/jpeg', lastModified: Date.now()})

      formData.append("file", files);
      // formData.append("corpNo", _.formInfo.corpNo);
      formData.append("orderNo", _.formInfo.orderNo);
      formData.append("attachType", attachType);
      formData.append("installStep", "01");
      const { data: res } = await _.$H.post(_, _.$A.order.upload, formData);
      if (res.status == 200) {
        this.initAttachList(attachType);
      }
    },

总结:默认返回的是blob格式,因为后端需要的是file格式 所以我这边建blob格式转换为file格式再上传

你可能感兴趣的:(vue.js,javascript,前端)