云引擎 Python客户端 Flutter
由于AVFile没有批量上传的功能,我想实现一个云函数,客户端将多个文件例如图片及其他自定义的JSON参数发给云函数,由云函数在服务器端统一处理和存储各文件。请问如何将文件或图片作为参数传给云函数呢?谢谢!
我理解这个问题还是在客户端处理好比较合适,因为将文件上传到云引擎这一步的工作量就和直接保存差不多了。可以利用 await Future.wait([f1, f2]),f1 和 f2 分别为 LCFile 对象的 save() 返回值。另外,新版的 Flutter SDK 支持 LCObject 关联 LCFile,只调用 LCObject.save() 即可。参考
谢谢。客户端直接存储我明白,但我的产品设计任何未登录用户都可以随意用这个功能。我对网络安全没有任何研究,但感觉由客户端直接存可能会有安全隐患,所以才考虑传给云函数由服务器存储。另一个原因是客户端一次要存多个文件,这样对API调用也是很多次,如果云函数在服务器能做到一次存多个文件,可以节省很多API调用次数。
七牛云的机制是可以获取 upload key,但是这个机制我们已经做在 SDK 里了。你可以考虑自行存储文件,在存储前先通过云引擎拿到 upload key(这一步可以判断是否是合法用户),之后上传到七牛云之后只保存文件的 url 即可。
好的,谢谢。请问如果将图片文件作为参数传给云函数呢?我知道好像可以转码成base64传,然后在服务器端解码出来,但这样解码多个文件,应该还是挺耗资源的。
这个和具体你使用的云引擎 web 框架有关,可以看看相关文档
好的,谢谢