好的,所以我到处寻找,人们似乎对此有不同意见。所以我继续前进,只是做了一个我认为是正确的方式,我现在有了第二个想法,因为我认为在mongodb数据库中存储一个巨大的base64
字符串是荒谬的。
以下是我现在正在做的代码片段:
var imgUploader;
// Base64Img holds the base 64 value from the chosen file.
if(base64Img != ""){
// Send message to chat and save to mongo:
socket.emit('clientMessage', {
message: $('#chatMessage').val(),
name: user.name,
userId: user.userId,
image : base64Img
});
$("#imgUpload").val("");
base64Img = "";
return;
}
我正在使用base64
和sockets.io
将node
以及其他消息数据发送到服务器,因此可以将其保存到mongoDB
,然后发回给其他聊天用户。一旦其他用户获得该数据,我只需将base64
值附加到<img />
html标记
Image
存储在服务器上的文件夹中,然后将链接保存到数据库中的图像答案 0 :(得分:0)
最好将图像存储在服务器上的文件夹中,而不是存储在Base64字符串和/或DB中。
使用cloudfront将图像存储在Amazon s3存储中的好方法。
答案 1 :(得分:0)
不要将图像存储在数据库中
您只在DB中存储指向该图像的链接。
您的选择:
除了在服务器上保存图像外,您还可以使用Amazon S3,Google Storage或其他一些可以保存图像的服务。
但不管怎样,你应该只在你的数据库中保留一个链接。