我正在使用ng2-uploader,当我第一次上传文件时它很好我得到了这个结果:
POST /upload with {}
[ { fieldname: 'file',
originalname: 'test.csv',
encoding: '7bit',
mimetype: 'application/vnd.ms-excel',
destination: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads',
filename: 'hzct1ye7dr92bne9udi.csv',
path: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads\\hzct1ye7dr92bne9udi.csv',
size: 276 } ]
没关系,因为它是单个文件上传。但是如果我在同一页面上尝试上传另一个文件,它会决定做两个帖子:
POST /upload with {}
POST /upload with {}
[ { fieldname: 'file',
originalname: 'test.csv',
encoding: '7bit',
mimetype: 'application/vnd.ms-excel',
destination: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads',
filename: 'tmyuvg88fsgfmn78ehfr.csv',
path: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads\\tmyuvg88fsgfmn78ehfr.csv',
size: 276 } ]
[ { fieldname: 'file',
originalname: 'test - Copy.csv',
encoding: '7bit',
mimetype: 'application/vnd.ms-excel',
destination: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads',
filename: '4psf329ig7g7quvm42t9.csv',
path: 'C:\\Users\\Jezyk\\Desktop\\Feedbacker\\server\\uploads\\4psf329ig7g7quvm42t9.csv',
size: 276 } ]
这是一个问题,因为它是单个文件上传并打破了对文件的任何进一步处理。
组件:
uploadFile: any;
options: Object = {
url: '/api/upload',
};
handleUpload(data): void {
if (data && data.response) {
data = JSON.parse(data.response);
this.uploadFile = data;
}
}
这是文件输入的 html :
<input type="file" accept=".csv" [ng-file-select]="options" (onUpload)="handleUpload($event)">
我的路线:
router.route('/upload').post(upload.any(), (req, res) => {
console.log(req.files);
});
堆叠文件的原因是什么?因为它不应该像这样反应。
修改 我试过这段代码,因为我想将csv文件解析为jSON:
router.route('/upload').post(upload.any(), (req, res) => {
console.log(req.files);
res.json(req.files.map(file => {
converter.fromFile(file.path ,function(err,result) {
console.log(file.path);
});
}));
});
所以我已经记录了file.path
,并且在第二次上传时它变得混乱:
C:\用户\ Jezyk \桌面\ Feedbacker \服务器\上传\ zlhui1y74tir1gbq33di.csv C:\ Users \用户Jezyk \桌面\ Feedbacker \服务器\上传\ qaz4e35vwjn9ffajor.csv
结果是,它只需要一个......不确定为什么它保留以前的数据lol