【发布时间】:2019-05-20 19:50:01
【问题描述】:
当多个文件被拖放到一个拖放区时,我需要在上传单个文件之前做一次服务器端准备。
理想情况下,上传器应该有一个多文件初始化回调,它允许我对我的服务器(准备完成的地方)进行 ajax 调用,并且只有在准备调用返回时才开始上传单个文件。
有没有办法达到这个目的?
目前,我为每个上传的文件运行的服务器端 (php) 代码会检查准备工作是否已完成,并在需要时运行准备功能。但由于上传者异步发送多个文件,会出现竞态条件,有时会多次调用准备函数。
【问题讨论】:
-
这当然是可能的,但没有必要让它同步。如果您在解决可能的竞争条件方面需要帮助,请将相关代码添加到问题中。
-
不推荐使用同步 AJAX,因此您应该尽量避免使用它。
-
发送AJAX请求准备,并让回调函数上传。
-
感谢您的反馈。我编辑标题以删除“同步”。问题是上传者似乎没有在单个文件开始上传之前触发的回调。所以,我认为@Barmar 建议我放弃上传者的“自动开始上传”,而是以编程方式开始上传。
-
是的,这就是我的建议。
标签: jquery file upload blueimp