我正在尝试将带有express-http-proxy
的多部分文件请求代理到我的Java Spring后端,但由于某种原因,Spring收到的文件字节数组与上传的文件不同。例如,一个字节数组长度为3000的文件被转换为大约6000.任何想法为什么会发生这种情况?你见过类似的问题吗?
这是代理请求的代码段:
var proxy = require('express-http-proxy');
var apiProxy = proxy('http://localhost:8080', {
forwardPath: function (req, res) {
return '/api/v2/photos/upload';
}
});
app.all("/api/upload", apiProxy);
答案 0 :(得分:0)
自我注意:
默认情况下express-http-proxy
将请求正文编码为utf-8。问题是请求体被重新编码,因此改变了数据。将reqBodyEncoding
设置为null
可确保请求正文保持不变:
var apiProxy = proxy('http://localhost:8080', {
reqBodyEncoding: null,
forwardPath: function (req, res) {
return '/api/v2/photos/upload';
}
});
答案 1 :(得分:0)