我正在尝试通过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));
}
});
}
}发布于 2016-03-17 07:19:58
是的,这是可能的。你可以这样做:
var req = request.post('/upload');
files.forEach((file)=> {
req.attach(file.name, file);
});
req.end(callback);摘自react-dropzone文档:https://react-dropzone.js.org/
发布于 2020-02-11 17:05:50
如果你想填充一个文件数组,你可以这样做:
var req = request.post('/upload');
files.forEach((file)=> {
req.attach('files', file);
});
req.end(callback);在我的一个项目上进行了测试;)
https://stackoverflow.com/questions/34403670
复制相似问题