一、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