У меня есть форма, в которой есть два входных файла, а затем текстовые поля.
, когда я делаю запрос к моему API, он выдает мне эту ошибку:
ОШИБКА: 413 сущности слишком велики, хотя входной файл 2 меньше 1 МБ.
тогдакогда я пытаюсь загрузить другую форму, в которой есть один входной файл, запрос возвращает 200 ..
<form id="form-addAccount" autocomplete="off">
<div class="form-group">
<label>Image</label>
<input type="file" class="form-control" name="imageUrl">
</div>
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name">
</div>
<div class="form-group">
<label>File</label>
<input type="file" class="form-control" name="fileUrl">
</div>
</form>
, так выглядит моя форма ... с двумя входными файлами в форме.
и это структура моего запроса API.который возвращает статус 413
var express = require('express');
var router = express.Router();
var request = require('request');
var multer = require('multer');
var upload = multer();
router.post('/accounts/add', upload.any(), function (req, res) {
var body = req.body;
var file = req.files;
if (!file) {
formData = {};
} else {
formData = {
image: {
value: file[0].buffer,
options:{
filename: file[0].originalname,
contentType: file[0].mimetype
}
},
files: {
value: file[1].buffer,
options:{
filename: file[1].originalname,
contentType: file[1].mimetype
}
}
}
}
console.log(_.extend(formData, body))
if i comment this part below, the console returns the data i imputed from my form.
but when i removed the comment it returns the error..
request({
uri: process.env.BASE_URL + '/api/accounts/add',
method: 'POST',
form:_.extend(formData, body),
}, function (error, response, body) {
if (!error && response.statusCode == 201) {
res.status(response.statusCode)
.send(body);
} else {
res.status(response.statusCode)
.send(body);
}
});
});
, то есть моя структура для загрузки одного входного файла, которая возвращает статус 200
router.post('/image/add', upload.single('image-0'), function (req, res) {
var file = req.file;
var body = req.body;
if (!file) {
formData = {};
} else {
formData = {
image: {
value: file.buffer,
options:{
filename: file.originalname,
contentType: file.mimetype
}
}
}
}
console.log(_.extend(formData, body))
request({
uri: process.env.BASE_URL + '/api/image/add',
method: 'POST',
formData: _.extend(formData, body),
}, function (error, response, body) {
if (!error && response.statusCode == 201) {
res.status(response.statusCode)
.send(body);
} else {
res.status(response.statusCode)
.send(body);
}
});
});
, и я даже пытался увеличить ограничение моего анализатора тела до 50 МБ,в моем app.js
var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true }));