场景:
用户完善个人资料时,需要上传头像。用户上传的头像,可自行裁剪切割。
裁剪实现方式为本地 js 进行选中,计算裁剪方框坐标。也就是说,本地的 js 实际只计算图片选中范围,不进行切割。
问题是,在七牛云存储中,如何只上传 js 圈定裁剪部分的图片?而不是完全上传?
或者完全上传,同时生成用户选中部分?
场景:
用户完善个人资料时,需要上传头像。用户上传的头像,可自行裁剪切割。
裁剪实现方式为本地 js 进行选中,计算裁剪方框坐标。也就是说,本地的 js 实际只计算图片选中范围,不进行切割。
问题是,在七牛云存储中,如何只上传 js 圈定裁剪部分的图片?而不是完全上传?
或者完全上传,同时生成用户选中部分?
这个七牛暂时是办不到的,本地上传什么文件,肯定就得上传整个文件,否则不过既然js计算图片的选中的范围,那干脆就直接进行裁剪操作再上传。
但是你可以通过预处理持久化操作处理一下图片,就是在putPolicy上传策略中指定
persistentOps
和persistentPipeline
,同时在persistentOps
中指定裁剪操作和saveas处理结果另存为让图片上传之后进行裁剪和另存为,以后用户引用这张头像的时候就使用另存为的图片。具体的裁剪方法可以参考http://developer.qiniu.com/docs/v6/api/reference/fop/image/imagemogr2.html