当前位置: 代码网 > it编程>编程语言>Javascript > 如何使用 Node.js 实现一个上传图片接口

如何使用 Node.js 实现一个上传图片接口

2025年02月13日 Javascript 我要评论
初始化项目在当前目录下创建一个名为 upload-image-api 的新文件夹,并初始化一个包含默认设置的 package.json 文件。mkdir upload-image-api &&

初始化项目

在当前目录下创建一个名为 upload-image-api 的新文件夹,并初始化一个包含默认设置的 package.json 文件。

mkdir upload-image-api && cd upload-image-api
npm init -y

安装依赖

express 是一个流行的 node.js web 框架;multer 是一个用于处理文件上传的中间件。

npm install express multer

创建上传图片接口

在根目录下创建一个 index.js 入口文件,并实现简单的上传图片逻辑。

const express = require("express");
const multer = require("multer");
const path = require("path");
const app = express();
// 设置存储路径和文件名称
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)
    );
  },
});
// 创建文件上传中间件
const upload = multer({ storage: storage });
/**
 * 处理文件上传请求
 * upload.single('image') 函数中 `image` 为接收文件的参数名
 */
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 });
});
// 启动服务器
const port = 3000;
app.listen(port, () => {
  console.log(`server is running on port ${port}`);
});

测试上传图片接口

  • 启动服务,在终端中执行命令:node index.js
  • 使用 postman 或其他工具来测试图片上传接口。
  • http://localhost:3000/upload 发送 post 请求,并以 multipart/form-data 格式附加一个名为 image 的字段来上传图片。
  • 如果请求成功,你将收到一个包含上传后的文件路径的 json 响应。

到此这篇关于用 node.js 实现一个上传图片接口的文章就介绍到这了,更多相关node.js 上传图片接口内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com