nodeJs與elementUI實(shí)現(xiàn)上傳圖片

前端使用的是elementUI里面的upload封裝好的組件

1.引入multer 和 fs(沒有則需要npm下載)

var multer=require('multer');
var fs=require('fs');

2.創(chuàng)建storage,storage提供了訪問特定于域名下的會(huì)話存儲(chǔ)或本地存儲(chǔ)的功能,例如可以添加、修改或刪除存儲(chǔ)的數(shù)據(jù)項(xiàng)。

如果你想要操作一個(gè)域名的會(huì)話存儲(chǔ),可以使用Window.sessionStroage,如果想要操作一個(gè)域名的本地存儲(chǔ),可以使用window.localstroage

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        // 接收到文件后輸出的保存路徑(若不存在則需要?jiǎng)?chuàng)建)
        cb(null, 'upload/');
    },
    filename: function (req, file, cb) {
        // 將保存文件名設(shè)置為 時(shí)間戳 + 文件原始名,比如 151342376785-123.jpg
        cb(null, Date.now() + "-" + file.originalname);
    }
});

3.創(chuàng)建文件夾

var createFolder = function (folder) {
    try {
        // 測試 path 指定的文件或目錄的用戶權(quán)限,我們用來檢測文件是否存在
        // 如果文件路徑不存在將會(huì)拋出錯(cuò)誤"no such file or directory"
        fs.accessSync(folder);
    } catch (e) {
        // 文件夾不存在,以同步的方式創(chuàng)建文件目錄。
        fs.mkdirSync(folder);
    }
};

4.創(chuàng)建上傳文件路徑

var uploadFolder = './upload/';
  createFolder(uploadFolder);

5.創(chuàng)建 multer 對象

var upload = multer({ storage: storage });

6.為前端提供上傳接口

router.post('/upload', upload.single('file'), function (req, res, next) {
    var file = req.file;
    console.log('文件類型:%s', file.mimetype);
    console.log('原始文件名:%s', file.originalname);
    console.log('文件大?。?s', file.size);
    console.log('文件保存路徑:%s', file.path);
    // 接收文件成功后返回?cái)?shù)據(jù)給前端
    res.json({ res_code: '0', name: file.originalname, url: file.path });
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 14,299評論 0 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,801評論 1 45
  • 本文旨在加深對前端知識(shí)點(diǎn)的理解,資料來源于網(wǎng)絡(luò),由本人(博客:http://segmentfault.com/u/...
    AuthorJim閱讀 465評論 0 0
  • 前端面試題的簡單整理,都只是大概回答,具體某些問題的具體理解后續(xù)會(huì)補(bǔ)上。 前端頁面有哪三層構(gòu)成,分別是什么?作用是...
    李歡li閱讀 539評論 0 2
  • 雨 率性而執(zhí)著 貼在臉上 扎進(jìn)頭發(fā) 歡快活潑 行走在雨中 感受雨 融進(jìn)雨 讓心在雨里奔跑 塵埃和浮躁紛紛落下 不牽...
    流浪貓70s閱讀 320評論 1 8

友情鏈接更多精彩內(nèi)容