node.js - 在 AWS s3 上使用 Nodejs api 上传文件时请求实体太大
问题描述
我在 stackoverflow 上找到了很多解决方案,但在某些设备中仍然出现错误当我在 node.js api 中的 multipart 上上传超过 2 个图像时,出现此错误“ Request entity too large
”
我使用AWS elasticbeanstalk
服务S3
作为后端服务器
已经使用它express.json({limit: '50mb'})
但仍然出现该错误,
这是我的代码:
应用程序.js
const app = express()
app.engine('html', require('ejs').renderFile)
app.set('view engine', 'html')
app.use(express.json({limit: '50mb'}));
app.use(express.urlencoded({
limit: '50mb',
extended: true,
parameterLimit: 50000
}));
AwsImageuploader.js
async function uploadFile(filename,filepath){
const fileStream = fs.createReadStream(filepath);
const uploadParams = {
Bucket: "bucker name",
Body: fileStream,
Key:filename
}
return s3.upload(uploadParams).promise()
}
解决方案
您可能需要.nginx
在 ElasticBeanstalk 上的配置中增加限制,例如:
server {
...
client_max_body_size 50mb;
....
}
你可以查看这篇文章,里面有更详细的解释。
推荐阅读
- java - 使用简单的json在java中解析JSON数组
- html - 如何从透明按钮中删除背景图像
- amazon-web-services - 我可以通过 Spring Boot 应用程序从 Redis 或某些 aws 服务读取外部配置吗
- java - 我怎样才能找到从一个瓷砖到另一个瓷砖必须传递的所有瓷砖
- php - 用长或复杂的形式在 PHP 中执行 POST 查询的最佳方法?
- python - 绘制很多点让我的电脑死机
- python - 如何在 python 电子邮件模块发送的表格中添加垂直滚动条?
- python - 改变神经网络中 Sigmoid 激活的阈值
- c++ - 成员不可访问 C++
- laravel - 我需要在 laravel teelscope 之后迁移