如何使用 Node.js 實(shí)現(xiàn)一個(gè)上傳圖片接口
初始化項(xiàng)目
在當(dāng)前目錄下創(chuàng)建一個(gè)名為 upload-image-api
的新文件夾,并初始化一個(gè)包含默認(rèn)設(shè)置的 package.json
文件。
mkdir upload-image-api && cd upload-image-api npm init -y
安裝依賴
express
是一個(gè)流行的 Node.js Web 框架;multer
是一個(gè)用于處理文件上傳的中間件。
npm install express multer
創(chuàng)建上傳圖片接口
在根目錄下創(chuàng)建一個(gè) index.js
入口文件,并實(shí)現(xiàn)簡(jiǎn)單的上傳圖片邏輯。
const express = require("express"); const multer = require("multer"); const path = require("path"); const app = express(); // 設(shè)置存儲(chǔ)路徑和文件名稱 const storage = multer.diskStorage({ destination: path.join(__dirname, "uploads"), filename: (req, file, cb) => { const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9); cb( null, file.fieldname + "-" + uniqueSuffix + path.extname(file.originalname) ); }, }); // 創(chuàng)建文件上傳中間件 const upload = multer({ storage: storage }); /** * 處理文件上傳請(qǐng)求 * upload.single('image') 函數(shù)中 `image` 為接收文件的參數(shù)名 */ app.post("/upload", upload.single("image"), (req, res, next) => { if (!req.file) { return res.status(400).json({ error: "No file uploaded" }); } const filePath = req.file.path; res.json({ filePath: filePath }); }); // 啟動(dòng)服務(wù)器 const port = 3000; app.listen(port, () => { console.log(`Server is running on port ${port}`); });
測(cè)試上傳圖片接口
- 啟動(dòng)服務(wù),在終端中執(zhí)行命令:
node index.js
- 使用
Postman
或其他工具來(lái)測(cè)試圖片上傳接口。 - 向
http://localhost:3000/upload
發(fā)送POST
請(qǐng)求,并以multipart/form-data
格式附加一個(gè)名為image
的字段來(lái)上傳圖片。 - 如果請(qǐng)求成功,你將收到一個(gè)包含上傳后的文件路徑的 JSON 響應(yīng)。
到此這篇關(guān)于用 Node.js 實(shí)現(xiàn)一個(gè)上傳圖片接口的文章就介紹到這了,更多相關(guān)Node.js 上傳圖片接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js中的events事件模塊知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Node.js中的events事件模塊知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-12-12node.js配置Token驗(yàn)證的2種方式總結(jié)
token驗(yàn)證,在設(shè)計(jì)登錄注冊(cè)和一些權(quán)限接口時(shí)發(fā)揮作用,下面這篇文章主要給大家介紹了關(guān)于node.js配置Token驗(yàn)證的2種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02基于Nodejs實(shí)現(xiàn)文件壓縮和解壓功能
在?windows?系統(tǒng)上面,我們壓縮文件,常常需要安裝一些壓縮軟件才能實(shí)現(xiàn)壓縮,可能有些還存在一些問(wèn)題,所以本文就來(lái)使用Nodejs實(shí)現(xiàn)文件壓縮和解壓功能吧2024-03-03nodejs發(fā)布靜態(tài)https服務(wù)器步驟指南
這篇文章主要為大家介紹了nodejs發(fā)布靜態(tài)https服務(wù)器的步驟指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-02-02輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請(qǐng)求
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請(qǐng)求,本文告訴你如何實(shí)現(xiàn)在node.js中處理POST請(qǐng)求,需要的朋友可以參考下2014-12-12