在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ Nodejs+webstorm+mysql環(huán)境下,使用formidable多文件

Nodejs+webstorm+mysql環(huán)境下,使用formidable多文件上傳時(shí)發(fā)現(xiàn)總是多一個(gè)空文件,求教

問(wèn)題描述

使用formidable多文件上傳,總是多一個(gè)空文件,如下圖:

clipboard.png

于是將遍歷得到的文件流打印出來(lái),果然循環(huán)了三次,代碼如下:

相關(guān)代碼

var form = new formidable.IncomingForm();
form.uploadDir = 'public' + AVATAR_UPLOAD_FOLDER;     //設(shè)置上傳目錄
form.keepExtensions = true;     //保留后綴
form.maxFieldsSize = 2 * 1024 * 1024;   //文件大小
var newPath;
var allFile=[];
form.on('file', function (filed, file) {
    console.log('filed:::',filed);
    console.log('file:::',file);
    allFile.push([filed, file]);//收集傳過(guò)來(lái)的所有文件
    // console.log('**********=>allFile:',allFile);
}).parse(req, function (err, fields, files) {

    var extName = '';  //后綴名
    if(files.file && files.file.length>0){
        console.log('大于0');
        switch (files.file.type) {
            case 'image/pjpeg':
                extName = 'jpg';
                break;
            case 'image/jpeg':
                extName = 'jpg';
                break;
            case 'image/png':
                extName = 'png';
                break;
            case 'image/x-png':
                extName = 'png';
                break;
        }
        if (extName.length == 0) {
            res.locals.error = '只支持png和jpg格式圖片';
            res.render('index', {title: TITLE});
            return;
        }

        allFile.forEach(function(file,index){
            var fieldName=file[0];
            var types = file[1].name.split('.');
            var date = new Date();
            var ms = Date.parse(date);
            fs.renameSync(file[1].path,form.uploadDir+"/"+types[0]+"."+String(types[types.length-1]));//重命名文件,默認(rèn)的文件名是帶有一串編碼的,我們要把它還原為它原先的名字。
        });
    }
    })
    
    

以下為打印輸出的內(nèi)容:

filed::: file
file::: File {
  _events: {},
  _eventsCount: 0,
  _maxListeners: undefined,
  size: 0,
  path: 'public\\avatar\\upload_255fc288f22bda9c2e6f3f985c353609',
  name: '',
  type: 'application/octet-stream',
  hash: null,
  lastModifiedDate: null,
  _writeStream:
   WriteStream {
     _writableState:
      WritableState {
        objectMode: false,
        highWaterMark: 16384,
        finalCalled: true,
        needDrain: false,
        ending: true,
        ended: true,
        finished: true,
        destroyed: true,
        decodeStrings: true,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: true,
        bufferProcessing: false,
        onwrite: [Function: bound onwrite],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: true,
        errorEmitted: false,
        emitClose: false,
        bufferedRequestCount: 0,
        corkedRequestsFree: [Object] },
     writable: false,
     _events: { open: [Function] },
     _eventsCount: 1,
     _maxListeners: undefined,
     path: 'public\\avatar\\upload_255fc288f22bda9c2e6f3f985c353609',
     fd: null,
     flags: 'w',
     mode: 438,
     start: undefined,
     autoClose: true,
     pos: undefined,
     bytesWritten: 0,
     closed: false } }
    filed::: file
    file::: File {
  _events: {},
  _eventsCount: 0,
  _maxListeners: undefined,
  size: 16144,
  path:
   'public\\avatar\\upload_5427e66c7f095253103cf435ca326903.png',
  name: '1506492549107.png',
  type: 'image/png',
  hash: null,
  lastModifiedDate: 2018-09-06T07:32:45.571Z,
  _writeStream:
   WriteStream {
     _writableState:
      WritableState {
        objectMode: false,
        highWaterMark: 16384,
        finalCalled: true,
        needDrain: false,
        ending: true,
        ended: true,
        finished: true,
        destroyed: true,
        decodeStrings: true,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: false,
        bufferProcessing: false,
        onwrite: [Function: bound onwrite],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: true,
        errorEmitted: false,
        emitClose: false,
        bufferedRequestCount: 0,
        corkedRequestsFree: [Object] },
     writable: false,
     _events: {},
     _eventsCount: 0,
     _maxListeners: undefined,
     path:
      'public\\avatar\\upload_5427e66c7f095253103cf435ca326903.png',
     fd: null,
     flags: 'w',
     mode: 438,
     start: undefined,
     autoClose: true,
     pos: undefined,
     bytesWritten: 16144,
     closed: false } }
filed::: file
file::: File {
  _events: {},
  _eventsCount: 0,
  _maxListeners: undefined,
  size: 18898,
  path:
   'public\\avatar\\upload_75052b6e88a8a2a04c3e98090b577dfd.png',
  name: '1506492173800.png',
  type: 'image/png',
  hash: null,
  lastModifiedDate: 2018-09-06T07:32:45.575Z,
  _writeStream:
   WriteStream {
     _writableState:
      WritableState {
        objectMode: false,
        highWaterMark: 16384,
        finalCalled: true,
        needDrain: true,
        ending: true,
        ended: true,
        finished: true,
        destroyed: true,
        decodeStrings: true,
        defaultEncoding: 'utf8',
        length: 0,
        writing: false,
        corked: 0,
        sync: false,
        bufferProcessing: false,
        onwrite: [Function: bound onwrite],
        writecb: null,
        writelen: 0,
        bufferedRequest: null,
        lastBufferedRequest: null,
        pendingcb: 0,
        prefinished: true,
        errorEmitted: false,
        emitClose: false,
        bufferedRequestCount: 0,
        corkedRequestsFree: [Object] },
     writable: false,
     _events: {},
     _eventsCount: 0,
     _maxListeners: undefined,
     path:
      'public\\avatar\\upload_75052b6e88a8a2a04c3e98090b577dfd.png',
     fd: null,
     flags: 'w',
     mode: 438,
     start: undefined,
     autoClose: true,
     pos: undefined,
     bytesWritten: 18898,
     closed: false } }

不知有人遇見(jiàn)過(guò)嗎?實(shí)在不知道咋回事,求教。。。

回答
編輯回答
殘淚

第一個(gè)參數(shù)filed貌似在官網(wǎng)的定義是namehttps://www.npmjs.com/package...

2017年9月6日 00:59