亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nodejs+express+multer搭建文件上傳文件預覽功能

 更新時間:2025年03月28日 10:01:11   作者:xs_2012  
Express 是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創(chuàng)建各種 Web 應用,和豐富的 HTTP 工具,今天給大家分享nodejs+express+multer搭建文件上傳文件預覽功能,感興趣的朋友一起看看吧

前言

今天準備用nodejs寫一個簡單的圖片上傳接口,目的實現(xiàn)圖片上傳,上傳后的圖片可預覽。使用到的express,multer

一、express是什么?

Express 是一個簡潔而靈活的 node.js Web應用框架, 提供了一系列強大特性幫助你創(chuàng)建各種 Web 應用,和豐富的 HTTP 工具。

二、multer是什么?

Multer 是一個node.js中間件,用于處理 multipart/form-data類型的表單數(shù)據(jù),主要用于上傳文件。

三、使用步驟

1.express使用

安裝express,新建一個js文件,我這里新建一個express_test.js的文件

var express = require('express');
var app = express();
app.get('/', function (req, res) {
	res.sendStatus(200)
})
//創(chuàng)建實例
var server = app.listen(8081, function () {
	var port = server.address().port
	console.log("應用實例,訪問地址為 http://127.0.0.1:%s", port)
})

終端輸入命令 node .\express_test.js

瀏覽器打開顯示如下

2.multer使用

安裝multer之后,在express_test.js所在目錄下新建一個文件夾,名為uploads,接著輸入如下代碼

var fs = require('fs');//文件管理相關
var multer = require('multer');//nodejs中間件,用于處理上傳文件
// 創(chuàng)建 multer 實例并設置存儲引擎
const storage = multer.diskStorage({
	destination: function (req, file, cb) {
		// 指定文件上傳的目錄
		cb(null, 'uploads/');
	},
	filename: function (req, file, cb) {
		cb(null, file.originalname);
	}
});
/*設置過濾器,可以上傳哪類文件*/
const fileFilter = (req, file, cb) => {
	if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
		cb(null, true);
	} else {
		cb(null, false);
	}
}
const upload = multer({ storage: storage, fileFilter: fileFilter });

以上代碼主要實現(xiàn)上傳目錄的配置,可上傳文件的類型。接著繼續(xù)輸入如下代碼

// 單個文件上傳
app.post('/upload', upload.single('file'), (req, res) => {
	console.log(req.file)
	if (req.file) {
		let file = req.file;
		let date = Date.now();
		// 重命名文件
		fs.renameSync('./uploads/' + file.filename, './uploads/' + date + file.originalname);
		res.json({code:200, msg: '上傳成功', imgUrl: 'http://127.0.0.1:8081' + '/uploads/' + date + file.originalname })
	}
	else {
		res.json({code:401,msg:'上傳失敗,請上傳正確格式的圖片', data: null})
	}
});

再次運行后,使用postman測試文件上傳,上傳成功

3.圖片預覽

文件上傳成功后,返回了圖片的網(wǎng)絡地址,將地址拷貝到瀏覽器中訪問,提示如下,訪問不到

別著急,我們接著寫入下面一行代碼

//設置訪問靜態(tài)文件目錄
app.use('/uploads', express.static('uploads'));

4.跨域設置

//跨越設置
app.use(cors());
app.all('*',function(req,res,next){
	res.header("Access-Control-Allow-Origin", "*");
	res.header("Access-Control-Allow-Headers", "X-Requested-With");
	res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
	next()
});

總結(jié)

以上就是nodejs下使用express+multer實現(xiàn)單圖片上傳的例子。

到此這篇關于nodejs+express+multer搭建文件上傳文件預覽功能的文章就介紹到這了,更多相關nodejs express multer文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • express文件上傳中間件Multer詳解

    express文件上傳中間件Multer詳解

    multer是express官方推薦的文件上傳中間件,它是在busboy的基礎上開發(fā)的。目前multer的最新版本為:~1.1.0。本文將詳細介紹express文件上傳中間件Multer的安裝與使用等,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • node.js處理前端提交的GET請求

    node.js處理前端提交的GET請求

    這篇文章主要為大家詳細介紹了node.js處理前端提交的GET請求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • websocket實現(xiàn)Vue?3和Node.js之間的實時消息推送

    websocket實現(xiàn)Vue?3和Node.js之間的實時消息推送

    使用?WebSocket?實現(xiàn)實時消息推送是一種高效的方式,可以在客戶端和服務器之間建立長連接,實現(xiàn)低延遲的雙向通信,以下是一個簡單的示例,展示如何在前端使用?Vue?3?和后端使用?Node.js?搭建一個?WebSocket?實現(xiàn)實時消息推送的應用
    2024-06-06
  • koa大型web項目中使用路由裝飾器的方法示例

    koa大型web項目中使用路由裝飾器的方法示例

    這篇文章主要介紹了koa大型web項目中使用路由裝飾器的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Node.js從字符串生成文件流的實現(xiàn)方法

    Node.js從字符串生成文件流的實現(xiàn)方法

    這篇文章主要介紹了Node.js從字符串生成文件流的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • docker中編譯nodejs并使用nginx啟動

    docker中編譯nodejs并使用nginx啟動

    這篇文章主要介紹了docker中編譯nodejs并使用nginx啟動的相關資料,需要的朋友可以參考下
    2017-06-06
  • node.js中的buffer.length方法使用說明

    node.js中的buffer.length方法使用說明

    這篇文章主要介紹了node.js中的buffer.length方法使用說明,本文介紹了buffer.length的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 詳解autojs的nodejs編寫UI技巧示例

    詳解autojs的nodejs編寫UI技巧示例

    這篇文章主要為大家介紹了autojs的nodejs編寫UI技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Koa 使用小技巧(小結(jié))

    Koa 使用小技巧(小結(jié))

    這篇文章主要介紹了Koa 使用小技巧(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 深入理解Node.js中CORS的三個重要響應頭

    深入理解Node.js中CORS的三個重要響應頭

    CORS是一種安全機制,通過配置適當?shù)捻憫^,服務器可以允許或限制外部域?qū)Y源的訪問,本文主要介紹了Node.js中CORS的三個重要響應頭,感興趣的可以了解一下
    2024-12-12

最新評論