nodejs+express實現圖片上傳


1.簡單實現html頁面

 

 name值對應的是后台接收的參數,必須寫,還要設置發送的格式

2.nodejs+express

A.引入multer

npm i -S multer

B.使用

 

 我的文件目錄

 

C. 創建路由

router.post('/uploadHead',uploader.single('photoImg'),uploadHead)  
//photoImg:為name的名字 single為uploader自帶方法,uploadHead為回調函數

D.uploadHead回調函數的書寫

(req,res)=>{
     console.log(req.file)  獲取圖片  files獲取多張圖片
     console.log(req.body)  獲取其他參數
}

E.處理數據

以為請求來的文件就像上圖中的path一樣,最后的一大串東西他不是一個圖片,我們打開不了,所以要給這個文件重命名,給path加上.jpg就可以讀取

//獲取后綴名
const extname = path.extname(file.originalname)
//獲取上傳成功之后的文件路徑
const filepath = file.path
//上傳之后文件的名稱
const filename = filepath + extname

//重命名,借用fs的rename重命名的方法,第一參數是源文件地址路徑,第二個參數是將源文件改名后的地址(和參數一地址相同,只不過名字變了而已,兩個參數都是地址)
fs.rename(filepath,path.join(path.dirname(filepath),filename), err =>{
   if(!err){
         成功以后要做的事情
    } 
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM