javascript - Superagent 多文件附件

标签 javascript post superagent

我正在尝试通过 superagent 一次上传多个文件。 我知道docs说使用多个 .attach(),但我无法让它动态工作。

是否可以循环数组并重复 .attach()?还是以另一种方式完成?

类似这样的事情:

  export function uploadTemplateAction(templateFiles, placeholderStrings, questionnaire) {
  return dispatch => {
    dispatch(uploadTemplateRequestAction());

    if(templateFiles){

      Object.keys(templateFiles).forEach(function(key) {
        request.attach('templateFile', templateFiles[key])
      }.bind(this));

    }

    return request
      .post(uploadPOSTUrl)
      .set('Accept', 'application/json')
      .send({"placeholderStrings": placeholderStrings, "questionnaire": questionnaire})
      .end((err, res) => {
        if (err) {
          dispatch(uploadTemplateFailureAction(err, questionnaire));
        } else {
          dispatch(uploadTemplateSuccessAction(res.body, questionnaire));
        }
      });
  }
}

最佳答案

是的,这是可能的。你会这样做:

var req = request.post('/upload');
files.forEach((file)=> {
   req.attach(file.name, file);
});
req.end(callback);

取自react-dropzone文档:https://react-dropzone.js.org/

关于javascript - Superagent 多文件附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403670/

相关文章:

node.js - 使用 Superagent 和 Express 4 接收 POST 请求数据

javascript - 解析器的正则表达式lookbehind替代方案(js)

javascript - 在显示隐藏元素时,由于滚动,它显示在错误的位置,仅在 chrome 中

javascript - 使用 jquery 从批量文本中提取所有电子邮件地址

java - Android 上未发生 POST?

php - 在 wordpress 站点中找到 <?php @eval($_POST ['pass' ]);?> 代码

javascript - Redux saga 使用类的其他实例的参数

node.js - Node 无法通过管道传输 pdf 响应

ASP.Net 自定义客户端验证

api - 休息 HATEOAS : How to know what to POST?