成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

推薦一個(gè)用于壓縮圖片的JS插件:localResizeIMG

Dogee / 3458人閱讀

摘要:圖片壓縮的原理大同小異,這里直接引用官方文檔的原話基本原理是通過(guò)渲染圖片,再通過(guò)方法壓縮保存為字符串能夠編譯為格式的圖片。這個(gè)過(guò)程我自己手?jǐn)]過(guò),代碼很多,更不用提有各種的兼容性坑,所以最后權(quán)衡再三還是直接換成了這個(gè)插件。

慣例,先貼傳送門(mén):https://github.com/think2011/localResizeIMG

首先說(shuō)到,為嘛要壓縮圖片,這需求一般出現(xiàn)在需要上傳照片(尤其是移動(dòng)端)的情況下,現(xiàn)在手機(jī)拍出來(lái)的照片隨隨便便就是好幾兆,無(wú)論3/4G還WIFI要上傳都很吃力,而且實(shí)際上也用不著這么大呀,一般壓縮到個(gè)一百幾十k就夠用了。因此,我們需要在用戶(hù)選好照片(可能是從相冊(cè)中選擇也可能是直接拍攝,看我博客的另一篇文章:html5 api:device"s media capture mechanism(設(shè)備的媒體捕捉機(jī)制)——利用input:file調(diào)用設(shè)備的照相機(jī)/相冊(cè)、攝像機(jī)、錄音機(jī))后,先用js把照片壓縮好了,再上傳到服務(wù)器進(jìn)行進(jìn)一步的處理。

js圖片壓縮的原理大同小異,這里直接引用localResizeIMG官方文檔的原話:

基本原理是通過(guò)canvas渲染圖片,再通過(guò) toDataURL 方法壓縮保存為base64字符串(能夠編譯為jpg格式的圖片)。

這個(gè)過(guò)程我自己手?jǐn)]過(guò),代碼很多,更不用提有各種的兼容性坑,所以最后權(quán)衡再三還是直接換成了這個(gè)插件。
這插件用起來(lái)很簡(jiǎn)單(廢話,用起來(lái)不簡(jiǎn)單還用來(lái)干嘛),傳入照片(可以是file對(duì)象也可以直接傳圖片路徑),設(shè)置好自己想要的分辨率(其實(shí)也就是width不超過(guò)多少px、heighti不超過(guò)多少px),然后再設(shè)置個(gè)圖片質(zhì)量,然后就是promise風(fēng)格的callback了,直接把壓縮后照片的base64傳進(jìn)callback里做參數(shù),最后就是拿著這base64愛(ài)干嘛干嘛去。另外,作者還很貼心的把照片base64編碼的長(zhǎng)度也傳參進(jìn)來(lái)了,方便后端校驗(yàn)圖片是否上傳完整。
具體用法就不貼了,自己傳送門(mén)去看唄,這里放個(gè)示例:


function upload () {
    lrz(this.files[0])
        .then(function (rst) {
            // 處理成功會(huì)執(zhí)行
        })
        .catch(function (err) {
            // 處理失敗會(huì)執(zhí)行
        })
        .always(function () {
            // 不管是成功失敗,都會(huì)執(zhí)行
        });
});

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91567.html

相關(guān)文章

  • 結(jié)合Vue.js前端壓縮圖片方案

    摘要:圖片文件大小減小后,上傳速度自然會(huì)提升,在同樣的并發(fā)下,后臺(tái)處理的速度也會(huì)得到提升,用戶(hù)體驗(yàn)得到提升。 這是一個(gè)很簡(jiǎn)單的方案。嗯,是真的。 為什么要這么做? 在移動(dòng)Web蓬勃發(fā)展的今天,有太多太多的應(yīng)用需要讓用戶(hù)在移動(dòng)Web上傳圖片文件了,正因如此,我們有些困難必須去攻克: 低網(wǎng)速下上傳進(jìn)度緩慢,用戶(hù)體驗(yàn)差 高并發(fā)下,后臺(tái)處理較大的上傳文件壓力大 或許有更多... 在攻克上面的一些...

    sutaking 評(píng)論0 收藏0
  • 推薦輕量高效無(wú)依賴(lài)開(kāi)源JS插件和庫(kù)

    摘要:彈出層是一個(gè)輕量級(jí)的庫(kù)用于管理工具提示和彈窗效果。一個(gè)帶有的跨瀏覽器富文本編輯器。由制作,適用于每天寫(xiě)作的富文本編輯器。輕量的操作庫(kù)。是一個(gè)快速簡(jiǎn)單輕量級(jí)的瀏覽器功能檢測(cè)庫(kù)。它沒(méi)有任何的依賴(lài),并且壓縮后僅有。極小跨平臺(tái)的全屏插件。 在這里維持一個(gè)持續(xù)更新的地方 圖片 baguetteBox.js - 是一個(gè)簡(jiǎn)單易用的響應(yīng)式圖像燈箱效果腳本。demo Lightgallery.js -...

    AlphaWallet 評(píng)論0 收藏0
  • 推薦輕量高效無(wú)依賴(lài)開(kāi)源JS插件和庫(kù)

    摘要:彈出層是一個(gè)輕量級(jí)的庫(kù)用于管理工具提示和彈窗效果。一個(gè)帶有的跨瀏覽器富文本編輯器。由制作,適用于每天寫(xiě)作的富文本編輯器。輕量的操作庫(kù)。是一個(gè)快速簡(jiǎn)單輕量級(jí)的瀏覽器功能檢測(cè)庫(kù)。它沒(méi)有任何的依賴(lài),并且壓縮后僅有。極小跨平臺(tái)的全屏插件。 在這里維持一個(gè)持續(xù)更新的地方 圖片 baguetteBox.js - 是一個(gè)簡(jiǎn)單易用的響應(yīng)式圖像燈箱效果腳本。demo Lightgallery.js -...

    lushan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Dogee

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<