2015-12-21 67 views
1

我試圖通過superagent一次上傳多個文件。 我知道docs說使用多個.attach(),但我不能讓它動態工作。Superagent多個文件附件

是否有可能循環槽陣列並重復.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)); 
     } 
     }); 
    } 
} 

回答

3

是啊,這是可能的。你會做這樣的事情:

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

從反應,懸浮窗文檔摘自:http://okonet.ru/react-dropzone/