Node.js 如何使用节点JS和Multer代理图像?
我使用表单数据向服务器发送图像(1个请求)。 在那之后,我必须在请求中发送这个图像,就像发送给第三方服务一样,但是在标题中有api键(2个请求)。 当我从2请求得到响应时,我需要将其发送回1请求。 因此,问题是: 如何从1请求中获取图像并将其放入2请求中?我不需要将其存储在我的服务器上,我只需要将其代理给第三方服务。 我发现Multer可能对我有帮助,但它从1个请求的文件返回,我不知道如何处理这个文件。您应该使用(临时存储文件的选项)并获取文件数据,即从中获取所有文件。然后,使用创建formData对象。最后,您可以向表单对象添加数据,设置标题并将数据发送到任何APINode.js 如何使用节点JS和Multer代理图像?,node.js,express,multer,Node.js,Express,Multer,我使用表单数据向服务器发送图像(1个请求)。 在那之后,我必须在请求中发送这个图像,就像发送给第三方服务一样,但是在标题中有api键(2个请求)。 当我从2请求得到响应时,我需要将其发送回1请求。 因此,问题是: 如何从1请求中获取图像并将其放入2请求中?我不需要将其存储在我的服务器上,我只需要将其代理给第三方服务。 我发现Multer可能对我有帮助,但它从1个请求的文件返回,我不知道如何处理这个文件。您应该使用(临时存储文件的选项)并获取文件数据,即从中获取所有文件。然后,使用创建formDa
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像“表单数据只能采用字符串、缓冲区等类型,但我并没有真正帮助我:)