尝试将文件从 Angularjs UI 上传到 nodejs 服务器但遇到 bodyparser 问题,添加限制会抛出 -
"SyntaxError: Unexpected token - in JSON at position 0",
如果未添加限制,则抛出 -
“有效载荷太大”
我正在使用 connect-multiparty 中间件来上传文件。在 bodyparser 中尝试使用 {limit: '50mb'} 并且也没有任何限制。
用户界面代码 -
$('#imgupload').on('change', function (evt) {
let uploadedFiles = evt.target.files;
let formData = new FormData();
for (var i = 0; i < uploadedFiles.length; i++) {
formData.append("uploads[]", uploadedFiles[i],
uploadedFiles[i].name);
}
let url = "/upload";
httpService.restApi(url,formData)
.then(function (response) {
console.log("the file has been uploaded to local server
",response);
});
});
Nodejs(服务器代码)-
const multipart = require('connect-multiparty');
const multipartMiddleware = multipart({ uploadDir: './uploads' });
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({extended: true}));
app.post('/upload', multipartMiddleware, (req, res) => {
res.json({
'message': 'File uploaded succesfully.'
});
});