将图像发送到 Cloudinary 之前进行 Base64 图像压缩

Base64 image compression before sending it to Cloudinary

我正在制作一个支持图片上传和用户查看的网络应用程序。我在框架中使用 angularjs,但在我发现在单页应用程序框架(angular)中将图像发送到后端非常棘手后,我选择将图像编译为 base64 并将其发送到后端。

一旦后端抓取了 base64 图像,它会再次将其发送到 Cloudinary,数据库将保存来自 cloudinary 的响应,这是 JSON 存储图像属性和 url 的文件。

到目前为止效果很好,但现在我想在上述任何过程之间再添加一个过程,即图像压缩。我对这种方法很陌生。所以我想知道是否有人处理过这个问题并给我一些建议或建议。

感谢您的宝贵时间。

这是我想出来的。希望这能帮助一些正在为同样的问题而苦苦挣扎的人。

为了将图像编译为 base64,我使用了 angular-base64-upload。此外,这个包让我们有机会在将 base64 字符串添加到 ng-model 变量之前处理文件。

因此,我使用 Jimp 与 angular-base-64-upload 进行混合。它很好用。 3.5Mb 大小的图像下降到 110kb 左右,质量下降到 50%,宽度下降到 1280px。