当前3.4.1的版本下,云函数调用 uploadFile 只能简单的 “上传”,由于这个上传主体是系统本身,所以没有 OpenID,那么如果云存储中设定了 “仅创作者可读写” 那么这个头像无法让对应上传的用户读取。
尤其是有这么个环节,用户先上传图片到CDN地址,然后云函数这边提交去内容审核,审核完后触发云函数再把这个图片从CDN上下载再上传会对应的位置和修改用户的存放地址,那么这个文件的创建人就不是用户自己了,它就看不到这个图片了。还例如一些后续修改,例如云函数内判断图片尺寸大小进行压缩等,如果有云函数进行后期修改存放创建者也不是用户本身。
所以能否提供云函数直接移动某个文件的路径或者提供修改文件的OpenID的API让这个审核环节更通用一些?
目前只能是用户上传到一个指定的路径,然后云函数去提交审核,后期云函数也不能动这个文件,这个文件的地址和文件名从用户上传后就不能修改和移动了,比较的繁琐。
文件是采用对象存储来进行存储的。这种情况下,上传成功后建议使用数据库记录openid、cloudid、对外地址的映射关系。利用数据库记录可以进行文件信息查询后再提供具体文件的展示。