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

首頁 > 開發 > JS > 正文

Node.js + express實現上傳大文件的方法分析【圖片、文本文件】

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

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

對于大文件的上傳我們首先要引入一個叫做 multer 的庫:

npm install --save multer

關于這個庫,大家可以查閱官方文檔:

點擊跳轉 https://www.npmjs.com/package/multer

我們先將庫引入我們的項目中:

var multer = require('multer')var upload = multer({ dest: 'uploads/' })// 文件會上傳到這個目錄

具體的 get 方法:

app.post('/upload', upload.single('logo'), function(req, res){//發送 json 數據到這個路由  console.dir(req.file);  res.send(req.p);})

由于上傳文件要用到表當,所以我們這里先建立一個名為 form 表單:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>Document</title></head>  <form action="/upload" method="post" enctype="multipart/form-data">    <h2>單圖上傳</h2>    <input type="file" name="logo">    <input type="submit" value="提交">  </form><body></body></html>

然后我們在 server 中引入該表單:

var fs = require('fs')// /from 的 html 界面,用于演示上傳文件app.get('/form',function(req, res){  var form = fs.readFileSync('./form.html',{ encoding : "utf8"});  res.send(form);})

由 localhost:3000/form 運行后上傳文件,就能在你項目的upload目錄下可看到:

Node.js,express,上傳大文件

Node.js,express,上傳大文件

雖然上傳成功,但w我n看到文件名是混亂的,而且路徑也是固定:

修改路徑和文件名:

// 更改大文件的存儲路徑var createFolder = function(folder){  try{    fs.accessSync(folder);  }catch( e ){    fs.mkdirSync(folder);  }};var uploadFolder = './upload/';// 設定存儲文件夾為當前目錄下的 /upload 文件夾createFolder(uploadFolder);// 磁盤存貯var storage = multer.diskStorage({  destination: function (req, file, cb) {    cb(null, uploadFolder );// 他會放在當前目錄下的 /upload 文件夾下(沒有該文件夾,就新建一個)  },  filename: function (req, file, cb) {// 在這里設定文件名    cb(null, file.originalname );  }})var upload = multer({ storage: storage })

效果:

Node.js,express,上傳大文件

最后,這里是視屏連接方便大家學習:

https://www.bilibili.com/video/av24385038/?p=6

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊春市| 清徐县| 望谟县| 湖南省| 安宁市| 广河县| 垦利县| 文水县| 宁国市| 井冈山市| 崇州市| 临桂县| 大方县| 旺苍县| 新兴县| 凤台县| 太仆寺旗| 江西省| 仲巴县| 静安区| 高密市| 滨州市| 华宁县| 永善县| 易门县| 绵阳市| 梅州市| 姚安县| 楚雄市| 通江县| 壤塘县| 天台县| 佛坪县| 电白县| 精河县| 松原市| 安福县| 章丘市| 桦甸市| 乌海市| 会泽县|