【发布时间】:2013-10-13 14:44:08
【问题描述】:
有一个用户注册模块,需要在注册前上传用户的标志。 我面临着上传图片的存储位置的问题,因为在用户上传徽标时,并没有创建实际的用户项目。
作为解决方案,我可以考虑将上传的图像(直到创建实际的用户项)保存在会话变量中。就系统的性能和长期使用而言,这会是一个好主意吗?
【问题讨论】:
有一个用户注册模块,需要在注册前上传用户的标志。 我面临着上传图片的存储位置的问题,因为在用户上传徽标时,并没有创建实际的用户项目。
作为解决方案,我可以考虑将上传的图像(直到创建实际的用户项)保存在会话变量中。就系统的性能和长期使用而言,这会是一个好主意吗?
【问题讨论】:
听起来是个坏主意。将会话用于状态总是会对您扩展应用程序的能力产生不利影响,并且将大型二进制 blob 放入会话中会给您的应用程序带来巨大的内存压力。更好的解决方案是将图像存储到文件系统中的临时区域并实现常规扫描功能,该功能将清除未转换为注册用户的用户上传的所有上传图像(例如,任何图像超过一天)。显然,当用户完成注册后,您会将图像移出临时存储空间。
【讨论】:
我建议使用临时文件夹来存储文件,并给它们一些唯一的名称(例如,使用 Guid)。
【讨论】: