中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs中怎么利用express實現一個文件上傳功能

發布時間:2021-07-21 11:01:16 來源:億速云 閱讀:332 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關nodejs中怎么利用express實現一個文件上傳功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

步驟:

(1)使用express創建項目,默認使用的是jade模板引擎,但是還是習慣于html,所以就改為html模板。
(2)在項目目錄中,通過npm install multiparty進行安裝必要組件。
(3)修改views/index.html,添加一個文件上傳的form。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>上傳文件</title>
</head>
<body>
  上傳文件
  <form method='post', action='/file/uploading', enctype='multipart/form-data'>
    <input type="file" name="inputFile">
    <input type="submit" value="上傳">
  </form>
</body>
</html>

(4)修改routes/index.js,實現上傳頁面和上傳響應的后臺代碼。

var express = require('express');
var router = express.Router();
var multiparty = require('multiparty');
var util = require('util');
var fs = require('fs');
/* 上傳頁面. */
router.get('/', function(req, res, next) {
 //res.render('./views/index');
 res.sendfile('./views/index.html');
});
/* 上傳 */
router.post('/file/uploading', function(req, res, next) {
  /* 生成multiparty對象,并配置上傳目標路徑 */
  var form = new multiparty.Form();
  /* 設置編輯 */
  form.encoding = 'utf-8';
  //設置文件存儲路勁
  form.uploadDir = './public/files';
  //設置文件大小限制
  form.maxFilesSize = 2 * 1024 * 1024;
  // form.maxFields = 1000;  //設置所有文件的大小總和
  //上傳后處理
  form.parse(req, function(err, fields, files) {
    var filesTemp = JSON.stringify(files, null, 2);
    if(err) {
      console.log('parse error:' + err);
    }else {
      console.log('parse files:' + filesTemp);
      var inputFile = files.inputFile[0];
      var uploadedPath = inputFile.path;
      var dstPath = './public/files' + inputFile.originalFilename;
      //重命名為真實文件名
      fs.rename(uploadedPath, dstPath, function(err) {
        if(err) {
          console.log('rename error:' + err);
        }else {
          console.log('rename ok');
        }
      })
    }
    res.writeHead(200, {'content-type': 'text/plain;charset=utf-8'});
    res.write('received upload:\n\n');
    res.end(util.inspect({fields: fields, files: filesTemp}))
  })
})
module.exports = router;

上述就是小編為大家分享的nodejs中怎么利用express實現一個文件上傳功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 松溪县| 冀州市| 连州市| 绥宁县| 平塘县| 怀仁县| 酒泉市| 桦南县| 安福县| 农安县| 来宾市| 珲春市| 邵武市| 清原| 东乡族自治县| 驻马店市| 高碑店市| 商洛市| 庆云县| 武川县| 高陵县| 汉源县| 德惠市| 仲巴县| 五大连池市| 青河县| 二连浩特市| 田林县| 海盐县| 师宗县| 义乌市| 馆陶县| 任丘市| 准格尔旗| 枞阳县| 平湖市| 平乐县| 舞阳县| 宁津县| 汉中市|