最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • node.js中實現(xiàn)kindEditor圖片上傳功能的方法教程

    node.js中實現(xiàn)kindEditor圖片上傳功能的方法教程

    最近在做一個類似于論壇的系統(tǒng),帖子需要進行圖文并茂的顯示,所以用到了富文本編輯器:kindeditor,下面這篇文章主要給大家介紹了在node.js中實現(xiàn)kindEditor圖片上傳功能的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • node.js解決全局安裝pnpm后無法使用的問題

    node.js解決全局安裝pnpm后無法使用的問題

    在全局安裝pnpm后,如果出現(xiàn)無法使用的問題,一般是由于沒有添加系統(tǒng)變量導致的,本文就來介紹一下node.js解決全局安裝pnpm后無法使用的問題,感興趣的可以了解一下
    2024-10-10
  • 在node中如何調(diào)用python腳本

    在node中如何調(diào)用python腳本

    這篇文章主要介紹了在node中如何調(diào)用python腳本,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • nodejs操作mongodb的增刪改查功能實例

    nodejs操作mongodb的增刪改查功能實例

    這篇文章主要介紹了nodejs操作mongodb的增刪改查功能,簡單分析了mongodb模塊的安裝并結(jié)合實例形式分析了nodejs操作mongodb數(shù)據(jù)庫進行增刪改查的相關實現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • Node.js實現(xiàn)簡單聊天服務器

    Node.js實現(xiàn)簡單聊天服務器

    Node.js 是一個基于Chrome JavaScript運行時建立的一個平臺, 用來方便地搭建快速的,易于擴展的網(wǎng)絡應用,今天我們來探討下,如何使用node.js實現(xiàn)簡單的聊天服務器
    2014-06-06
  • nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)

    nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié)

    這篇文章主要介紹了nodejs文件操作模塊FS(File System)常用函數(shù)簡明總結(jié),對FS模塊的大部份異步函數(shù)做了介紹,而且用中文注釋,這下用起來方便了,需要的朋友可以參考下
    2014-06-06
  • Node.js利用console輸出日志文件的方法示例

    Node.js利用console輸出日志文件的方法示例

    本篇文章主要介紹了Node.js利用console輸出日志文件的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • nvm安裝使用及常用命令

    nvm安裝使用及常用命令

    nvm主要是用來管理?nodejs?和?npm?版本的工具,可以用來切換不同版本的?nodejs,這篇文章主要介紹了nvm安裝與使用,需要的朋友可以參考下
    2023-01-01
  • nodejs高版本降為低版本的詳細解決方案

    nodejs高版本降為低版本的詳細解決方案

    部分老舊項目需要使用低版本的node,網(wǎng)上很多是無效的,高版本無法直接安裝低版本node,但是低版本nodejs可以安裝部分高版本node,從而達到升級效果,下面這篇文章主要給大家介紹了關于nodejs高版本降為低版本的詳細解決方案,需要的朋友可以參考下
    2022-12-12
  • node.js 中國天氣預報 簡單實現(xiàn)

    node.js 中國天氣預報 簡單實現(xiàn)

    本文主要介紹使用node.js做一個自用的天氣插件,需要的朋友可以參考下。
    2016-06-06

最新評論

错那县| 左云县| 吐鲁番市| 江孜县| 黔东| 班玛县| 安新县| 涿州市| 宝丰县| 揭阳市| 洪湖市| 鹤壁市| 芜湖市| 勃利县| 乡宁县| 吴桥县| 繁峙县| 湾仔区| 黎平县| 当阳市| 高青县| 炎陵县| 武夷山市| 临海市| 甘孜县| 将乐县| 五台县| 伊宁县| 河池市| 长宁区| 台江县| 永吉县| 武功县| 永嘉县| 江达县| 永丰县| 沿河| 衡阳县| 陕西省| 阿尔山市| 嘉义市|