node.js form 上傳

來源:互聯網
上載者:User

標籤:

安裝formidable
pm install [email protected]

用戶端表單提交
<form class="form-signin" role="form" method="post" enctype=‘multipart/form-data‘>        <h2 class="form-signin-heading">上傳檔案</h2>        <input id="fulAvatar" name="fulAvatar" type="file" class="form-control" />             <br/>        <button id="btnSub" class="btn btn-lg btn-primary" type="submit">上 傳</button>      </form>
服務端指定路由規則
router.post(‘/upload‘, function(req, res) {  var form = new formidable.IncomingForm();   //建立上傳表單      form.encoding = ‘utf-8‘;        //設定編輯      form.uploadDir = ‘public‘ + AVATAR_UPLOAD_FOLDER;     //設定上傳目錄      form.keepExtensions = true;     //保留尾碼      form.maxFieldsSize = 2 * 1024 * 1024;   //檔案大小    form.parse(req, function(err, fields, files) {         if (err) {          res.locals.error = err;          res.render(‘index‘, { title: ‘TITLE‘ });          return;                }                 console.log(fields);        var extName = ‘‘;  //尾碼名        switch (files.fulAvatar.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;                           }        var avatarName = Math.random() + ‘.‘ + extName;        var newPath = form.uploadDir + avatarName;        console.log(newPath);        fs.renameSync(files.fulAvatar.path, newPath);     });    res.render(‘upload‘, { title: ‘Upload Demo‘ });      });
View Code

 

node.js form 上傳

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.