如何使用 Node.js 實現(xiàn)一個上傳圖片接口
初始化項目
在當前目錄下創(chuàng)建一個名為 upload-image-api 的新文件夾,并初始化一個包含默認設(shè)置的 package.json 文件。
mkdir upload-image-api && cd upload-image-api npm init -y
安裝依賴
express 是一個流行的 Node.js Web 框架;multer 是一個用于處理文件上傳的中間件。
npm install express multer
創(chuàng)建上傳圖片接口
在根目錄下創(chuàng)建一個 index.js 入口文件,并實現(xiàn)簡單的上傳圖片邏輯。
const express = require("express");
const multer = require("multer");
const path = require("path");
const app = express();
// 設(shè)置存儲路徑和文件名稱
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 });
/**
* 處理文件上傳請求
* 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 });
});
// 啟動服務(wù)器
const port = 3000;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});測試上傳圖片接口
- 啟動服務(wù),在終端中執(zhí)行命令:
node index.js - 使用
Postman或其他工具來測試圖片上傳接口。 - 向
http://localhost:3000/upload發(fā)送POST請求,并以multipart/form-data格式附加一個名為image的字段來上傳圖片。 - 如果請求成功,你將收到一個包含上傳后的文件路徑的 JSON 響應(yīng)。
到此這篇關(guān)于用 Node.js 實現(xiàn)一個上傳圖片接口的文章就介紹到這了,更多相關(guān)Node.js 上傳圖片接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
[將免費進行到底]在Amazon的一年免費服務(wù)器上安裝Node.JS, NPM和OurJS博客
此文是介紹如何在Amazon的一年免費計劃上安裝Node.JS, NPM還有搭建OurJS博客系統(tǒng)。,需要的朋友可以參考下2014-08-08
package-lock.json解決依賴的版本管理使用詳解
這篇文章主要為大家介紹了package-lock.json解決依賴的版本管理使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Node.js + express實現(xiàn)上傳大文件的方法分析【圖片、文本文件】
這篇文章主要介紹了Node.js + express實現(xiàn)上傳大文件的方法,結(jié)合實例形式分析了Node.js + express針對圖片、文本文件上傳操作實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下2019-03-03
詳解electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng)
這篇文章主要為大家詳細介紹了electron如何攔截網(wǎng)絡(luò)請求并處理響應(yīng),文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下2023-12-12
node.js內(nèi)置模塊之crypto?模塊及作用詳解
在Node.js中,crypto模塊提供了多種加密功能,包括哈希、對稱加密、非對稱加密和數(shù)字簽名等,通過crypto模塊,可以進行各種加密和解密操作,保護敏感數(shù)據(jù)的安全性,本文給大家介紹node.js內(nèi)置模塊之crypto?模塊及作用詳解,感興趣的朋友跟隨小編一起看看吧2025-11-11

