gpt4 book ai didi

angularjs - MEANJS:将base64图像发送到服务器的最佳方式

转载 作者:IT老高 更新时间:2023-10-28 13:30:31 26 4
gpt4 key购买 nike

情况

我正在使用 MEAN.JS框架(MongoDBExpressJSAngularJSNodeJS)。

在前端使用 AngularJS;我有一个 JSON,字段中有一个 base64 编码的 image

我想要什么?

  • 我想将此 JSON 发送到服务器 (NodeJS)。

我正在使用 RESTful:

Controller :

var article = new Articles ($scope.article);


article.$save(function(response) {
//If all is OK
}, function(errorResponse) {
//Error
});

$scope.article 有一个名为“image”的字段($scope.article.image) 带有图片的base64 字符串.

服务:

(function() {
'use strict';

angular
.module('articles')
.factory('articles', ['$resource',

function($resource) {
return $resource('articles/:articleId', { articleId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
]);})();

问题

如果 JSON 在字段中没有任何 Base64 图像可以正常工作...

但是……

如果我们在字段中添加图像的 Base64 字符串,服务器将响应此错误:

    Error: request entity too large at makeError (/Users/aralroca/Documents/Aral/Projecte/node_modules/body-parser/node_modules/raw-body/index.js:184:15)
at module.exports (/Users/aralroca/Documents/Aral/Projecte/node_modules/body-parser/node_modules/raw-body/index.js:40:15)
at read (/Users/aralroca/Documents/Aral/Projecte/node_modules/body-parser/lib/read.js:62:3)
at jsonParser (/Users/aralroca/Documents/Aral/Projecte/node_modules/body-parser/lib/types/json.js:96:5)
at Layer.handle [as handle_request] (/Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/layer.js:82:5)
at trim_prefix (/Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/index.js:269:13)
at /Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/index.js:236:9
at Function.proto.process_params (/Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/index.js:311:12)
at /Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/index.js:227:12
at Function.match_layer (/Users/aralroca/Documents/Aral/Projecte/node_modules/express/lib/router/index.js:294:3)

说请求实体太大...图片大小是84Kb!!!!!!

(我尝试了 $http resource 并发生了同样的情况......)

  • 如何解决此服务器错误?
  • 从 Angular 向 Node 发送 Base64 编码图像的最佳方式是什么?
  • 有什么建议吗?

相关答案:

我试过这样做,但不工作,不明白:

 app.use(bodyParser.urlencoded({limit: '50mb'}));
app.use(bodyParser.json({limit: '50mb'}));

bodyParser 已弃用,Base64 图像的大小为 84kb!!!!!

谢谢!!

最佳答案

尝试使用:

var express = require('express');
var app = express();
var busboy = require('connect-busboy');

app.post("/url_path",
busboy({
limits: {
fileSize: 10 * 1024 * 1024
}
}),
function(req, res, next) {
// check that the request's body was as expected
if (!req.busboy) return next('route'); // or next(new Error('...'));

// ...
});

//...

欲了解更多信息,请查看 this private npm .

关于angularjs - MEANJS:将base64图像发送到服务器的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com