0

我正在尝试同时上传多张图片。在服务器端,我必须创建一个唯一的文件夹来保存这些图像。所以如何在一个请求完成之前发出等待请求并向客户端发送响应。我已经尝试过这个,但是当我发送响应时,我收到此错误 Can't set headers after they are sent.so 建议我很好的解决方案。我在等你的回复。

当我上传五张图片时,在服务器端我必须检查文件夹是否已经存在。如果它不存在,我必须为这五个图像创建新文件夹,然后我必须检查文件夹引用是否已经存在于 mongodb 中。如果它不存在,我必须将该文件夹引用存储在 mongodb 中。然后我必须向客户端发送响应。但是在这里,当我上传五个图像时,五个请求将发送到服务器,因此请求在完成一个请求之前执行该条款,因此相同的文件夹引用正在存储,并且它正在为五个图像创建五个文件夹。

   function myMiddleware(req, res, next)
    {

          console.info("inside myMiddleware");
           var handler = function()
          {
               console.info("middleware redundant. ActionDone, calling next");
                next();
          };


           EventManager.once("finished",handler);

           if (actionDone !== "working") 
           {

              actionDone = "working";
              function doneWaiting(){
         //  console.log("finished");
              actionDone = "finished";
              EventManager.emit( "finished" );  
           }
          setTimeout(doneWaiting, 500);
      }
4

1 回答 1

0

我认为您在这里需要的是在检查/创建文件夹并执行数据库检查/创建的功能上实现锁定。

看看这篇文章看一个例子

于 2013-06-23T17:38:17.010 回答