如何解决执行操作时如何显示存储在mongoDB中的图像文件
我正在构建一个接受文件作为输入(附件)并显示特定用户当前附件的表单。 作为此过程的一部分,一旦加载了组件,我就会获取附件数据。
base64,255,216,224,16,74,70,73,1,96,219,67,5,4,3,6,8,13,7,11,12,9,19,20,18,23,29,25,22,28,26,35,30,31,33,36,39,32,38,0
数据正在上面的表格中显示。 但是,在我的数据库中按以下格式显示了相同的数据。
attachments
:
Binary('/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAUEBAQEAwUEBAQGBQUGCA0ICAcHCBALDAkNExAUExIQEhIUFx0ZFBYcFhISGiMaHB4f...',0)
我能够在客户端控制台中以base64格式显示数据。 单击图像后如何转换为链接?
路线:
app.get(
apiConfig.config.apiVersion + "/get/attachments",bugController.getAttachmentsById
);
控制器:
let getAttachmentsById = async (req,res) => {
let tracker = await bugModel.findById(req.query.id);
await tracker.populate("attachments").execPopulate();
res.set("Content-type","image/jpg");
let apiResponse = response.generate(false,null,200,tracker.attachments);
res.send(apiResponse);
};
客户端组件:
public getAttachments() {
this.Http.getAttachments().subscribe((response) => {
this.bufferAttach =
'data:image/jpg;base64,' + response['data'][0]['attachments']['data'];
this.base64attach = this.bufferAttach.toString('base64');
console.log('ttchedDAta');
console.log(this.base64attach);
});
}
解决方法
我发现我们不能直接将图像存储在DB中,而是使用Multer将图像存储在DB中并将链接存储在DB中。那会更合适。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。