我需要接受用户上传的图片,并在后台进行一些处理,比如生成不同尺寸的缩略图,原始图像的校验和,检查重复等。之后,用户应该能够看到他的提交。
问题是http响应可能会在处理完成之前发送,那么我该告诉用户什么呢?
我可以想到4个选项:
- 为缩略图放置一个愚蠢的占位符,上面写着“处理”或其他内容的符号,并在某处添加解释。用户必须按f5直到他看到图像,除非他已经信任系统并且知道它会起作用。
- 放置一个智能占位符,类似于javascript动画以及重复的ajax调用,它们会在准备就绪时获取缩略图。这非常适合用户体验,但可能会在服务器中产生一些开销。
- 异步处理以避免重载,但阻止请求直到处理完成。这个产品看起来是快速交付产品的好选择,如果服务器同时开始上传许多内容,则会稍后进行迭代。
- 网络套接字?
还有其他选择吗?哪一个看起来更好?我有没有看到任何利弊?