一、Tinify简介
1.1 图片压缩的重要性
随着互联网的普及,图片已成为信息传递的重要载体。然而,大尺寸、高分辨率的图片会占用大量带宽和存储空间,导致网站加载速度变慢。通过压缩图片,可以有效减小文件大小,提高网站性能。
1.2 Tinify概述
Tinify是一个基于云的图片压缩服务,它能够显著减小图片的文件大小,同时保持图片的高质量。Tin义提供了丰富的API,可以轻松集成到各种项目中。而且还是对外免费开放使用的。
1.3 Tinify的使用方式
Tinify提供了两种主要的图片压缩方式:
第一种:源文件直接上传
直接获取表单请求的MultipartFile文件,也就是可以从缓冲区(带二进制字符串)上传图像,并获取压缩的图像数据。
byte[] sourceData = Files.readAllBytes(Paths.get("unoptimized.jpg"));
byte[] resultData = Tinify.fromBuffer(sourceData).toBuffer();
这种适合OSS上传,推荐,缺点是会先把压缩之后的图片保存到服务器,在上传到oss,可以在上传之后,删除图片。
第二种:图片URL上传
只需可以提供一个URL到您的图像,而不必上传它,这种更适合图片查询展示的时候进行压缩,压缩之后可以在Source对象中获取新的图片URL。
Source source = Tinify.fromUrl("https://cdn.tinypng.com/images/panda-happy.png");
source.toFile("optimized.jpg");
二、OSS简介
阿里云OSS(