我有一个 Nodejs+Angular 应用程序,我将它部署在 AWS Elastic Beanstalk 上。在我的应用程序中,我有一个图像上传,并且 evrything 正常工作 excpet 对于大文件图像。我对此有一些配置:
- 在我的后端,我使用 multer 上传图片并将文件限制设置为 10 MB
module.exports = multer({storage: storage, limits: { fileSize: 10 * 1024 * 1024 }}).single('image');
- 我还有一个名为“01_files.config”的配置文件,我用这段代码部署了应用程序
文件:
“/etc/nginx/conf.d/proxy.conf”:
模式:“000755”
拥有者:根
组:根
内容: |
client_max_body_size 20M;
一切都在我的本地机器上运行,但是当我部署应用程序时,当我尝试上传最大然后 1MB(multer 的默认大小限制)的图像时,它给我一个“CORS 错误”。
我是 AWS 配置的新手,所以我需要一些帮助。
最佳答案
在“.elasticbeanstalk”目录中创建文件“proxy.config”
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
owner: root
group: root
content: |
upstream nodejs {
server 127.0.0.1:3020;
keepalive 256;
}
server {
client_max_body_size 1G;
...
...
...
}
...
...
...
然后像这样使用中间件:
const upload = multer({
limits: { fileSize: 52428800 }
}).single('image');
关于node.js - 如何在 AWS Elastic Beanstalk 上的 Nodejs 应用程序上启用大文件上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61573443/