国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

nodejs基于express實現文件上傳的方法

2024-05-06 16:43:14
字體:
來源:轉載
供稿:網友

本文實例講述了nodejs基于express實現文件上傳的方法。分享給大家供大家參考,具體如下:

前段時間在做個人項目的時候,用到了nodejs服務端上傳文件,現在回頭把這個小結一下,作為記錄。

本人上傳文件時是基于express的multiparty ,當然也可以使用connect-multiparty中間件實現,但官方似乎不推薦使用connect-multiparty中間件。廢話不多說,下面看代碼吧。

步驟:

(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程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳山县| 博乐市| 永城市| 康马县| 孟村| 独山县| 元江| 金坛市| 伊宁县| 巨野县| 房产| 通化县| 阳城县| 肥乡县| 青铜峡市| 丘北县| 许昌县| 手游| 威远县| 西畴县| 酉阳| 汕头市| 松阳县| 双江| 霍林郭勒市| 崇仁县| 深水埗区| 繁昌县| 嘉定区| 略阳县| 喀喇| 中方县| 芜湖市| 和田县| 临安市| 中宁县| 台南县| 垣曲县| 临江市| 积石山| 佛教|