有一个用户注册模块,要求在注册前上传用户的徽标。 我遇到了存储此上传图片的问题,因为在用户上传徽标时,不会创建实际的用户项目。
作为解决方案,我可以考虑在会话变量中保存上传的图像(直到创建实际的用户项)。在性能和长期使用系统方面,这是一个好主意吗?
答案 0 :(得分:2)
听起来不错。使用session for state将始终对您扩展应用程序的能力产生负面影响,并将大型二进制blob放入会话中会给应用程序带来巨大的内存压力。一个更好的解决方案是将图像存储到文件系统的临时区域,并实现常规扫描功能,清除由未转换为注册用户的用户上传的任何上传图像(例如,任何图像)超过一天)。显然,当用户完成注册时,您会将图像从临时存储中移出。
答案 1 :(得分:-1)
我建议使用一个临时文件夹来存储文件,为它们提供一些唯一的名称(例如,使用Uuid)。