Nodejs多方文件上传到Azure和一个文本字段



我需要在继续上传Azure文件之前验证是否存在mongoDB文档。

表单由文件和文本字段组成,所需的逻辑如下:

  1. 表格提交
  2. 获取文本字段
  3. 在mongodb中搜索带有文本字段数据的文档
  4. 如果物品存在继续,则将文件上传到Azure else返回
  5. 文件上传到Azure
  6. 将URL保存到在
  7. 中找到的同一MongoDB文档中的文件

我面临的问题是我无法触摸form.on.on('part'(的字段数据,并且无法首先使用form.parse。这是我的代码,我愿意更改库,并尽一切努力使其正常工作。

var form = new multiparty.Form();
var formField = "";
form.parse(req, function(err, fields, files) {
  formField = fields.fieldinform[0];
});
console.log(formField); //empty async?
model
  .findOne({ name: formField })
  .then(obj => {
    form.on("part", function(part) {
      if (!part.filename) return;

      var size = part.byteCount;
      var name = part.filename;
      var container = "test";
      blobService.createBlockBlobFromStream(
        container,
        name,
        part,
        size,
        function(error) {
          if (error) {
            console.log("failed");
          }
        }
      );
    });
  })
  .catch(e => {
    //do not continue
  });

帮助您将不胜感激!

经过大量搜索并没有提出正确的答案,我决定与jQuery一起使用,将表单的操作URL更改为/上load/textintextfield之前,然后提交之前,然后用req.params.textfield in节点。

<script>
$('#fileUploadForm').submit(function() {
$('#fileUploadForm').attr('action', '/upload/addvideo/' + $('#textfield').val())
return true; 
});
</script>

相关内容

  • 没有找到相关文章

最新更新