首页 > 解决方案 > 如何将文件从nodeJS上传到nodeJS

问题描述

我有 2 个 nodeJS 服务,我想在一个目录中上传文件,从一个 NodeJS(后端)到另一个 NodeJS(后端)。接收器 nodeJS 是一个快速应用程序。

寻找一些工作代码示例。

PS:在搜索中找不到任何代码示例,因为从客户端到服务器上传的 Multer 到处都是接收 multipart/form-data。

标签: node.jsfile-upload

解决方案


在 Node.js 中使用 POST 请求上传文件

按照您正确使用 Multer 的说法,首先接收文件。然后,您可以在再次上传之前将文件保存到临时目录,也可以按原样发送文件。

您需要在希望接收文件的第二台服务器上设置与 Multer 一起运行的服务器。

const express = require('express');
const app = express();
const upload = multer({ dest: 'files/' });
app.post('/upload', upload.single('file'), (req, res) => {
    res.sendStatus(200);
});
app.listen(3001);

然后在您希望从中发送文件的服务器上,执行以下操作:

const request = require('request');
const req = request.post('localhost:3001/upload', (err, res, body) => {
  if (err) throw new Error(err);
  if (res && res.statusCode == 200) {
    console.log('Success');
  } else {
    console.log('Error');
  };
});
const form = req.form();
form.append('file', fs.createReadStream('./location/to/file'));

推荐阅读