通過UEditor多圖上傳到七牛雲出現圖片不全,或上傳失敗bug

在node-ueditor進行拓展,通過多圖上傳直接將圖片保存到七牛雲。在保存的時候通過busboy包進行文件流保存
bug: 發現多張圖片上傳時候,部分圖片出現上傳失敗,或顯示出得圖片只有一半的情況。仔細查看代碼後,覺得應該是busboy進行文件保存的時候,還沒有保存完畢,就進行了七牛上傳。
bugFix:

 busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
        req.ueditor = {};
        req.ueditor.fieldname = fieldname;
        req.ueditor.file = file;
        req.ueditor.filename = filename;
        req.ueditor.encoding = encoding;
        req.ueditor.mimetype = mimetype;

        //scrawl
        tmpdir = path.join(os.tmpDir(), path.basename(filename));
        file.pipe(fs.createWriteStream(tmpdir));
   });

   busboy.on('finish', function(fieldname, file, filename, encoding, mimetype) {
        res.ue_up = function (img_url) {
          name = snowflake.nextId() + path.extname(tmpdir);
          dest = path.join(static_url, img_url,type, name);
          var prefix = type;
          // 上傳文件
          new Qiniu(res, tmpdir, prefix+name).uploadFile();

          if(conf.savelocal) {
            fse.move(tmpdir, dest, function(err) {
              if(err) throw err;
            })
          }
        }
        callback(req, res, next);
      });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章