【问题标题】:Superagent multiple files attachmentSuperagent 多文件附件
【发布时间】:2016-03-27 23:58:45
【问题描述】:

我试图通过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));
        }
      });
  }
}

【问题讨论】:

    标签: javascript post superagent


    【解决方案1】:

    如果你想填充一个文件数组,你可以这样做:

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

    在我的一个项目上测试过;)

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-03
        • 2015-10-23
        • 2018-02-28
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 2020-03-17
        • 2019-07-31
        相关资源
        最近更新 更多