因此,经过整理一些文档后,我做了以下工作
这是我的模型;
var doctorSchema = new Schema({
img: { data: Buffer, contentType: String },
This is my backend controller
function uploadPhoto(req, res, next) {
var imgPath = "C:/emed/public/logo.png";
var a = new Doctor;
a.img.data = fs.readFileSync(imgPath);
a.img.contentType = 'image/png';
//console.log(a.img.data);
a.save(function (err, a) {
if (err) console.log('success');
console.error('saved img to mongo');
});
Doctor.findById(a, function (err, doc) {
if (err)console.log("error");
var base64 = (doc.img.data.toString('base64'));
res.send(base64);
这是我的角度成功函数,在其中将它与范围变量一起存储并在视图b中显示图像。
但是我的图像坏了吗?...有人可以帮我吗?
.success(function (data) {
$scope.image = data;
console.log(data);
我在翡翠模板中的看法是这样的。
img(ng-src = '{{image}}' err-src="/assets/img/user.jpg" alt="")
最佳答案
我的猜测是您尚未构建数据URIdata:[<mime type>][;charset=<charset>][;base64],<encoded data>
Doctor.findById(a, function (err, doc) {
if (err)console.log("error");
var base64 = doc.img.data.toString('base64');
res.send('data:'+doc.img.contentType+';base64,' + base64);