Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用节点JS和Multer代理图像?_Node.js_Express_Multer - Fatal编程技术网

Node.js 如何使用节点JS和Multer代理图像?

Node.js 如何使用节点JS和Multer代理图像?,node.js,express,multer,Node.js,Express,Multer,我使用表单数据向服务器发送图像(1个请求)。 在那之后,我必须在请求中发送这个图像,就像发送给第三方服务一样,但是在标题中有api键(2个请求)。 当我从2请求得到响应时,我需要将其发送回1请求。 因此,问题是: 如何从1请求中获取图像并将其放入2请求中?我不需要将其存储在我的服务器上,我只需要将其代理给第三方服务。 我发现Multer可能对我有帮助,但它从1个请求的文件返回,我不知道如何处理这个文件。您应该使用(临时存储文件的选项)并获取文件数据,即从中获取所有文件。然后,使用创建formDa

我使用表单数据向服务器发送图像(1个请求)。 在那之后,我必须在请求中发送这个图像,就像发送给第三方服务一样,但是在标题中有api键(2个请求)。 当我从2请求得到响应时,我需要将其发送回1请求。 因此,问题是:

如何从1请求中获取图像并将其放入2请求中?我不需要将其存储在我的服务器上,我只需要将其代理给第三方服务。 我发现Multer可能对我有帮助,但它从1个请求的文件返回,我不知道如何处理这个文件。您应该使用(临时存储文件的选项)并获取文件数据,即从中获取所有文件。然后,使用创建formData对象。最后,您可以向表单对象添加数据,设置标题并将数据发送到任何API

npm i express-fileupload --save 
npm i form-data --save
在您的项目中

const fileUpload = require('express-fileupload');
const FormData = require('form-data')

app.use(fileUpload());

app.post('/upload', async (request, response, next) => {
  const { files } = request

  const formData = new FormData()

  for (let i = 0; i < files.length; i++) {
    let file = files[i]

    formData.append('files', file)
  }
  const formHeaders = formData.getHeaders(); // based on the need
  
  // now you can send the form data to any end-point
  // you can use axios to do that or any other lib

})


const fileUpload=require('express-fileUpload');
const FormData=require('form-data')
app.use(fileUpload());
app.post('/upload',异步(请求、响应、下一步)=>{
const{files}=请求
const formData=new formData()
for(设i=0;i
express fileupload听起来是个不错的主意,但现在我陷入了表单数据返回的“source.on不是函数”错误,甚至谷歌也帮不了我。此外,我还发现数组在express fileupload中没有(已经?)使用,但我仍然可以使用files.file获取图像,因此这不是问题。您可以在此处添加有关错误的更多详细信息吗?我从req.files.file获取一个对象(“file”是我从Postman发送的表单数据中的字段名称)<代码>{name:'Screenshot 2021-04-19 at 12.24.18.png',数据:,大小:425444,编码:'7bit',tempFilePath:'',截断:false,mimetype:'image/png',md5:'af4a946774a56e6debc661ae2c1d9938',mv:[函数:mv]}当我尝试数据时。追加('file',file)我发现这个错误谷歌说smth像“表单数据只能采用字符串、缓冲区等类型,但我并没有真正帮助我:)