国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue2上傳圖片image-conversion壓縮

這篇具有很好參考價值的文章主要介紹了vue2上傳圖片image-conversion壓縮。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

項目中涉及上傳圖片,如果大體積的一般都需要壓縮,這里我使用image-conversion來壓縮

其實(shí)在npm中使用已經(jīng)說得很明白了,我這里記錄一下跟element ui上傳組件配合使用

1、安裝image-conversion
 npm i image-conversion --save
2、引入使用
2.1、這里配合element ui的上傳組件配合使用
<el-upload
                    class="upload-demo"
                    style="
                      display: inline-block;
                      margin-left: 3%;
                      vertical-align: top;
                    "
                    enctype="multipart/form-data"
                    :action="baseUrl"
                    :headers="headers"
                    name="file"
                    :data="loadData"
                    :before-upload="beforeUpload"
                    :on-success="uploadSuccess"
                    list-type="picture"
                    :show-file-list="showFileList"
                  >
                    <el-button
                      size="small"
                      style="
                        width: 90px;
                        backgoound: white;
                        border: 1px solid rgba(73, 128, 255, 1);
                        color: rgba(73, 128, 255, 1);
                      "
                      class="upload-btn"
                      >點(diǎn)擊上傳</el-button
                    >
                    <div slot="tip" class="el-upload__tip">
                      只能上傳jpg/jpeg/png文件,
                    </div>
                    <div slot="tip" class="el-upload__tip">且不超過30Mb</div>
                  </el-upload>

上傳前方法中處理壓縮邏輯,壓縮質(zhì)量參數(shù),我單獨(dú)封裝了文章來源地址http://www.zghlxwxcb.cn/news/detail-812050.html

import * as imageConversion from 'image-conversion';
//壓縮質(zhì)量
export function getCompressionQuality(isLtSize,imgType) {
  if (isLtSize < 3) {
      return 0.93;
    } else if (isLtSize >= 3 && isLtSize < 5) {
      return 0.90;
    } else if (isLtSize >= 5 && isLtSize < 10) {
      return 0.80;
    } else if (isLtSize >= 10 && isLtSize < 20) {
      return 0.70;
    } else if (isLtSize >= 20 && isLtSize < 30) {
      return 0.60;
    }
  return 0.90;
}
//壓縮邏輯
export function compressImage(file, quality) {
  return new Promise((resolve, reject) => {
    imageConversion.compress(file, quality)
      .then((res) => {
        resolve(res);
        console.log('壓縮后體積', res.size / (1024 * 1024));
      })
      .catch((error) => {
        reject(error);
      });
  });
}

import { getCompressionQuality, compressImage } from '@/utils/compressionUtils.js';
beforeUploadLoad(file) {
      return this.processImage(this, file, this.loadData, false);
    },
    //上傳圖片前壓縮圖片
    processImage(that, file, uploadData, isUnload) {
      const imgType = file.type.toUpperCase();
      const isLt30M = file.size / 1024 / 1024 < 30;
      const isLt2M = file.size / 1024 / 1024 < 2;
      const isLtSize = file.size / 1024 / 1024;
      console.log('壓縮前圖片size', file.size / 1024 / 1024);
      uploadData.isCompressed = 0
      if (
        imgType !== "IMAGE/JPG" &&
        imgType !== "IMAGE/JPEG" &&
        imgType !== "IMAGE/PNG"
      ) {
        that.$message.error("請上傳正確格式的圖片");
        return false;
      }
      if (!isLt30M) {
        that.$message.error("上傳的圖片不能超過30Mb");
        return false;
      }
      //壓縮質(zhì)量
      const quality = getCompressionQuality(isLtSize,imgType);
      //大于2M走壓縮邏輯
      if (!isLt2M) {
        console.log('quality', quality);
        return compressImage(file, quality)
          .then(compressedFile => {
            return compressedFile;
          })
          .catch(err => {
            console.error('Image compression error:', err);
            return file;
          });
      }
    },

這樣上傳圖片時壓縮就可以了,大家可以根據(jù)項目壓縮質(zhì)量需求來調(diào)整壓縮參數(shù)

到了這里,關(guān)于vue2上傳圖片image-conversion壓縮的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【vue3】前端上傳圖片的格式大小限制和壓縮

    【vue3】前端上傳圖片的格式大小限制和壓縮

    目錄 前言 對上傳圖片進(jìn)行格式大小限制 壓縮上傳圖片 上篇文章中研究了如何使用雙token機(jī)制,在此篇中就暴露了一些問題:當(dāng)accesstoken過期后,直到拿到最終想要得到的數(shù)據(jù),期間需要經(jīng)歷三次請求——第一次請求,拿到accesstoken過期的消息——第二次攜帶refreshtoken發(fā)起請求

    2024年02月06日
    瀏覽(36)
  • vue2+wangEditor5富文本編輯器(圖片視頻上傳)并加錨鏈接

    vue2+wangEditor5富文本編輯器(圖片視頻上傳)并加錨鏈接

    官網(wǎng):https://www.wangeditor.com/v5/installation.html#npm 1、安裝使用 安裝 在main.js中引入樣式 在使用編輯器的頁面引入js 模板 js 到這一步編輯完就可以正常顯示了 2、上傳圖片、視頻 1)上傳到后臺接口的可直接按照文檔這個配置就行接口返回格式也要可文檔上一致 2)自定義上傳(一

    2024年02月12日
    瀏覽(93)
  • vue2+wangEditor5富文本編輯器(圖片視頻自定義上傳七牛云/服務(wù)器)

    vue2+wangEditor5富文本編輯器(圖片視頻自定義上傳七牛云/服務(wù)器)

    1、安裝使用 安裝 在main.js中引入樣式 在使用編輯器的頁面引入js 模板 js ?到這一步編輯器就可以正常顯示了 2、上傳圖片、視頻 上傳到后臺接口的可直接按照文檔這個配置就行接口返回格式也要可文檔上一致 ? ?2)自定義上傳(一般上傳到別的服務(wù)器上,我這邊是上傳到七

    2024年02月11日
    瀏覽(105)
  • uniapp 上傳圖片時壓縮圖片

    提示:這里簡述項目相關(guān)背景: 最近用uniapp做一個上傳圖片,要把圖片大小壓縮到200kb,然后傳給后端 image-conversion:一個簡單易用的JS圖像轉(zhuǎn)換工具,可以指定大小以壓縮圖像 npm i image-conversion --save const imageConversion = require(“@/components/image-conversion”);

    2024年02月12日
    瀏覽(25)
  • webpack無損壓縮本地靜態(tài)資源圖片image-minimizer-webpack-plugin

    webpack無損壓縮本地靜態(tài)資源圖片image-minimizer-webpack-plugin

    開發(fā)如果項目中引用了較多圖片,那么圖片體積會比較大,將來請求速度比較慢。 我們可以對圖片進(jìn)行壓縮,減少圖片體積。 一、image-minimizer-webpack-plugin介紹 Image-minimizer-webpack-plugin 是一個用于 優(yōu)化和壓縮圖片 的 Webpack 插件。它使用多個優(yōu)化器和壓縮器來減小圖片文件的大

    2024年02月09日
    瀏覽(38)
  • 小程序圖片上傳壓縮

    上傳圖片是小程序常見的功能,例如點(diǎn)評類小程序邀請用戶分享照片、電商類小程序要求商家上傳商品照片。 伴隨著照片像素越來越高,圖片體積越來越大,小程序開發(fā)者需要壓縮圖片,否則將導(dǎo)致用戶上傳圖片失敗或加載時間過長等影響體驗的情況。 小程序提供 wx.choose

    2024年02月10日
    瀏覽(27)
  • Element-ui 上傳圖片前壓縮圖片

    上傳前把圖片大小進(jìn)行一個壓縮在進(jìn)行上傳。 文章目錄 需求:項目當(dāng)中上傳圖片的需求點(diǎn)肯定有很多,再上傳之后,如果圖片很大的話,在加載的時候就會很慢。最近發(fā)現(xiàn)系統(tǒng)首次加載越來越慢,就開始思考怎么能降低這個加載時間,由于首頁圖片很多,所以圖片的大小就

    2024年02月06日
    瀏覽(20)
  • 前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件 , 下載完整代碼請訪問uni-app插件市場址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue單個文件上傳支持圖片,壓縮包以及文件?, 閱讀全文下載完整代碼請關(guān)注微信公眾號: 前端組件開發(fā) 效果圖如下: 使用方法 HTML代碼部分 JS代碼 (引入組件 填充數(shù)據(jù)) CSS

    2024年02月09日
    瀏覽(27)
  • vue2項目打包壓縮處理

    vue2項目打包壓縮處理

    平常項目打包后,js等文件會體積大,這樣用戶訪問會慢 webpack優(yōu)化 – compression-webpack-plugin 開啟gzip 1、安裝compression-webpack-plugin 這里我項目webpack版本是3.6.0,所以得安裝低版本得compression-webpack-plugin,webpack版本高于這個得安裝其他版本,不然會報錯 2、修改配置 1、在config/i

    2024年01月18日
    瀏覽(26)
  • 微信小程序上傳圖片壓縮方案

    小程序上傳圖片需要進(jìn)行壓縮,可以使用wx.getFileSystemManager()方法將圖片轉(zhuǎn)換成base64格式,再使用canvas將圖片壓縮成指定大小。 首先使用wx.chooseImage()方法選擇了一張圖片,然后使用wx.getFileSystemManager()方法將圖片轉(zhuǎn)換成base64格式。接著使用canvas進(jìn)行壓縮,并將canvas轉(zhuǎn)換成圖片

    2024年02月11日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包