一、canvas庫-Fabric.js
Fabric.js 是一個強大而簡單的 Javascript HTML5 畫布庫。 Fabric 在畫布元素之上提供交互式對象模型, Fabric 還具有 SVG-to-canvas(和 canvas-to-SVG)解析器。
詳情見這篇文章:這個 19.4K 的 canvas 庫,功能很強大!—— https://mp.weixin.qq.com/s/v4QZgSj3JU-fA22_ebNbyw
Fabric.js 項目地址:https://github.com/fabricjs/fabric.js。 19.8K star 應該很 nice。
二、功能強大的 JS 文件上傳庫:FilePond
FilePond:它是一個 JavaScript 文件上傳庫。可以拖入上傳文件,並且會對圖像進行優化以加快上傳速度。讓用戶體驗到出色、進度可見、如絲般順暢的文件上傳體驗。
FilePond 項目地址:https://github.com/pqina/filepond。 11.5K star 很nice。
特點和優勢:
(1)上傳內容:支持目錄、文件、多個文件、本地路徑、遠程 URL 等。
(2)文件管理:刪除文件、選擇文件、復制和粘貼文件、或使用 API 方式添加文件。
(3)上傳方式:使用 AJAX 進行異步上傳、或將文件編碼為 base64 數據用表單發送。
(4)圖像優化:自動調整圖像大小、裁剪和修復 EXIF 方向。
(5)響應式:可在移動和桌面設備上使用。
詳細介紹見這篇文章:https://blog.csdn.net/a419240016/article/details/101028686
三、客戶端保存文件解決方案:FileSaver.js
FileSaver.js 是在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的 Web 應用程序。它簡單易用且兼容大多數瀏覽器,被作為項目依賴應用在 6.3 萬的項目中。
目前 17.7K star,地址:https://github.com/eligrey/FileSaver.js
主要使用 saveAs API ,具體如何使用及其原理可以看這篇文章:聊一聊 15.5K 的 FileSaver,是如何工作的?- https://mp.weixin.qq.com/s/oW0izYKgMC2eZdM459gmgQ
四、JavaScript在線解壓 ZIP 文件:JSZip
JSZip 是一個用於創建、讀取和編輯 .zip
文件的 JavaScript 庫,該庫支持大多數瀏覽器。
有了 JSZip 這個庫的幫助,要實現瀏覽器端在線解壓 ZIP 文件的功能並不難。因為官方已經為我們提供了 解壓本地文件、解壓遠程文件和生成 ZIP 文件 的完整示例。
目前 7.3K star,地址:https://github.com/Stuk/jszip
具體如何使用可以看這篇文章:JavaScript 如何在線解壓 ZIP 文件? - https://mp.weixin.qq.com/s/tGrXZ7918NtqX8eh1SdgIw