Image processing 异步处理上传的图像:同时做什么?

Image processing 异步处理上传的图像:同时做什么?,image-processing,asynchronous,user-experience,image-uploading,jobs,Image Processing,Asynchronous,User Experience,Image Uploading,Jobs,我需要接受用户上传的图像,并在后台进行一些处理,如生成不同大小的缩略图、原始图像的校验和、检查副本等。之后,用户应该能够看到他的提交 问题是http响应可能会在处理完成之前发送,那么我应该告诉用户什么呢 我可以想出4种选择: 在缩略图上放一个哑占位符,上面写着“正在处理”之类的符号,并在某处加上解释。用户必须按f5键直到看到图像,除非他已经信任该系统并且知道它将工作。 放置一个智能占位符,比如javascript动画加上重复的ajax调用,这些调用将在缩略图准备就绪时获取缩略图。这对用户体验很好

我需要接受用户上传的图像,并在后台进行一些处理,如生成不同大小的缩略图、原始图像的校验和、检查副本等。之后,用户应该能够看到他的提交

问题是http响应可能会在处理完成之前发送,那么我应该告诉用户什么呢

我可以想出4种选择:

在缩略图上放一个哑占位符,上面写着“正在处理”之类的符号,并在某处加上解释。用户必须按f5键直到看到图像,除非他已经信任该系统并且知道它将工作。 放置一个智能占位符,比如javascript动画加上重复的ajax调用,这些调用将在缩略图准备就绪时获取缩略图。这对用户体验很好,但可能会在服务器上产生一些开销。 异步处理以避免过载,但在处理完成之前阻止请求。这一个看起来是一个很好的选择,可以快速交付产品,如果服务器同时开始获得许多上传,那么稍后再进行迭代。 Web套接字? 还有其他选择吗?你觉得哪个更好看?有什么我看不到的优点/缺点吗?

我同意 放置一个智能占位符,比如javascript动画加上重复的ajax调用,这些调用将在缩略图准备就绪时获取缩略图。这对用户体验很好,但可能会在服务器上产生一些开销

然后,您可以根据分析进一步完善此功能。随着时间的推移,您将知道根据图像大小、服务器负载等因素转换每个图像需要多长时间。您可以结合这些知识来优化轮询结果的JS脚本

不要试图在没有数据点和分析的情况下进行优化。

我同意 放置一个智能占位符,比如javascript动画加上重复的ajax调用,这些调用将在缩略图准备就绪时获取缩略图。这对用户体验很好,但可能会在服务器上产生一些开销

然后,您可以根据分析进一步完善此功能。随着时间的推移,您将知道根据图像大小、服务器负载等因素转换每个图像需要多长时间。您可以结合这些知识来优化轮询结果的JS脚本

不要试图在没有数据点和分析的情况下进行优化