前一阵子有个需求是上传文件,遇到跨域的问题,我的解决办法是使用node搭建本地静态服务器,把请求转发到后端服务器。

撸起袖子就是干,却发现一个问题,node这里拿不到上传过来的formData格式的文件,然后疯狂查资料,花了我一个上午的时间,还是不行。最后在老大的帮助下解决了,其实很简单,我不需要拿到上传的文件,只需要把请求原封不动的全部转发出去就行了。怪我太天真,多写了代码,还没有效果。下面是代理的关键代码:

1
2
3
4
5
6
7
8
9
10
11
12
const express = require('express');
const proxyMiddleWare = require("http-proxy-middleware");
const proxyPath = "http://xxx"; //目标后端服务地址
const proxyOption ={
target: proxyPath,
changeOrigoin: true
};
const app = express();
app.use("/", proxyMiddleWare(proxyOption));