您好我试图上传这么多天的tar文件,但每次我都失败了。我是这个JS,UI和https req / res域的新手。 我的环境是:nodeJS,后端的JavaScript。 ReactJS用于前端。 我需要将tar文件从我的机器上传到远程服务器。
这是我的前端代码,我正在进行上传文件的获取请求。
export function postXCCDF () {
let _headers = {
'Accept': 'application/json, application/xml, text/plain, text/html, *.*',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryyEmKNDsBKjB7QEqu'
};
var formData = new FormData();
formData.append('type', 'file');
formData.append('file', 'C:\\MyDrive\\rules.zip');
let uri = '/rest/policy';
const options = { method: 'POST', headers: _headers, body: formData };
return fetch(`${_host}${urlPrefix}${uri}`, options)
.then(processStatus)
.then(response => response.json());
}
这是我的后端代码,我希望tar文件可以接收。
router.post('/policy', function(req, res) {
console.log('hey I reached here');
console.log('hemant req',req.body.formData); // prints hemant req undefined
// Dont know how to save it to some directory. ??? :(
});
我的全部想法是将tar文件上传到位于远程位置的服务器。我已经尝试了很多其他方法,但似乎没有任何帮助。
答案 0 :(得分:1)
body-parser模块只处理JSON和urlencoded表单提交,而不是multipart(如果你上传文件就是这种情况)。
对于multipart,您需要使用connect-busboy或multer或connect-multiparty之类的内容(multiparty / formidable是最初在express bodyParser中间件中使用的内容)。