egg是阿里开发的一个基于koa,遵循「约定大于配置」的原则,支持多进程的一个服务端框架,有许多插件,目前官方是JavaScript写的,但是通过插件是可以支持typescript,目前我们公司就有内部项目是在使用。本文主要介绍在eggjs中对图片的处理。
egg支持两种方式上传文件,stream和file,stream就是nodejs中的流式上传,而file模式是会把图片先保存在服务端,然后用路径取访问。具体内容见 egg-multipart,本文主要使用sharp完成图片裁剪操作,当然sharp不止于裁剪。
file 模式
file模式中上传一般不会有任何问题,file模式支持定时清理服务器上的缓存文件,通过访问this.ctx.request.files
就可访问到所有上传的文件。然后通过sharp操作图片。
1 | const Controller = require('egg').Controller; |
stream模式
stream模式不需要缓存图片,但是关键是需要复制图片流,幸运的是sharp支持复制图片流,以输出不同规格的图片。
1 | const Controller = require('egg').Controller; |
- 本文链接: https:https://whyour.cn/post/egg-image-resize.html
- 最后更新于:
- 版权声明: 本博客所有文章除特别声明外,均采用 署名 4.0 国际(CC BY 4.0) 许可协议。转载请注明出处!
typescript 常用内置类型
css文本背景动画