專案目錄
1. files目錄下存放檔案;
2. public目錄存放靜態檔案,例如html檔案
前端**search.html
//後端nodejs**引入框架
var express=require('express');
//定義檔案物件
var fs=require('fs');
//編碼
var iconv=require('iconv-lite');
//中介軟體
var bodyparser=require('body-parser');
//檔案上傳中間元件
var multer=require('multer');
//引入path模組
var path = require('path');
//定義靜態檔案路徑
console.log('the current : ', __dirname);
var public_path=path.join(__dirname,'public');
false
}));
//定義檔案儲存路徑
var file_path=path.join(__dirname,'files/');
//檔案路徑,處理物件
////
查詢檔案
(req,res));
}//else
console.log('the files are : ', files);
for(let i=0,len=files.length;i)));
return
res.send();
return
; }
}});
//}})//
上傳檔案
(req, res) ;
res.json(response);
}) ;
())
總結:1. 讀取檔案,漢字讀取亂碼。windows 上的檔案一般都是gbk編碼,用utf8讀的話,當然是亂碼了。
解決方法:gbk 編碼不在nodejs自身支援範圍內。因此,一般我們借助 iconv-lite
2. for迴圈,閉包?nodejs一切都是非同步,非同步操作,其他語言大都是同步操作
3. 靜態檔案的路徑需要設定為nodejs的相對路勁
4. 在新的js規範es6中,新增了let 命令,用來宣告變數。用法類似於var,但不同的是所宣告的變數,只在let 命令所在的**塊內效
5. cnpm 安裝 npm是node package manager
6. 定義變數的三個關鍵字:var:正常 let:區域內的量 const:常量
nodejs實現檔案上傳
前段時間在做個人專案的時候,用到了nodejs服務端上傳檔案,現在回頭把這個小結一下,作為記錄。本人上傳檔案時是基於express的multiparty,當然也可以使用connect multiparty中介軟體實現,但官方似乎不推薦使用connect multiparty中介軟體。廢話不多說,下面...
nodejs實現檔案上傳
客戶端的上傳可以使用表單,或者直接使用ajax,我們這裡使用ajax 服務端 const express require express var upload require src router upload console.log server is running at upload.js v...
nodejs 檔案上傳服務端實現
前段時間在做個人專案的時候,用到了nodejs服務端上傳檔案,現在回頭把這個小結一下,作為記錄。本人上傳檔案時是基於express的multiparty,當然也可以使用connect multiparty中介軟體實現,但官方似乎不推薦使用connect multiparty中介軟體。廢話不多說,下面...