Angular2 TS,单个文件上传正在发送多个文件

时间:2016-09-17 10:37:02

标签: node.js file-upload input angular

我正在使用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

0 个答案:

没有答案