在线实时图片处理是指:当用户第一次访问一张图片的小图时,服务端程序可从原图实时生成一张小图,返回给用户。图片URL中带有图片处理规则。
由FileStorageDownloadServlet类实现,底层依赖: 图片处理接口
实现生成缩略图
用户上传的图片一般尺寸都比较大,如果在一个列表中显示图片,需要的是100x100的缩略片,应该如何实现呢?
系统中定义了两个缩略规则符号 @和! ,有在页面中拼接以下图片URL,就会得到相应尺寸的图片。
http://www.abc.com/filestorage/20/99/99/5263bcec293d4c998b758143525654ee.png (原图)
http://www.abc.com/filestorage/20/99/99/5263bcec293d4c998b758143525654ee.png@100x100 (100x100缩略图,按最长边等比例缩图)
http://www.abc.com/filestorage/20/99/99/5263bcec293d4c998b758143525654ee.png@!100x100 (100x100缩略图,按最短边等比例缩 切 图)
第一次访问原图,系统中一定有这个文件。第一次访问100x100的缩略图,系统中一定没有,系统会生成缩略图并写入“文件存储服务”再响应用户,第二次再访问100x100的缩略图系统中就有了,可直接响应。