【发布时间】:2017-11-26 01:38:51
【问题描述】:
我正在使用输入标签,用户可以在其中上传自己的图像。完成后,我的目标是将图像发送到我的服务器(这是一个 node.js 服务器),然后将其发送到我的数据库。 我怎么能在客户端做到这一点?我应该在 base64 中编码图像文件吗? 我只有一个显示图像的功能,但我不确定它在这里是否有用。
JS:
avatar.onchange = function() {
var reader = new FileReader();
reader.onload = function(e) {
// get loaded data
image.src = e.target.result;
};
// read the image file as a data URL.
reader.readAsDataURL(this.files[0]);
};
HTML:
<input id="avatar" type="file" onchange="previewFile()">
<img id="image" width="200px">
提前致谢。
【问题讨论】:
-
是的,以 base64 格式发送,因为它很容易存储在数据库中,然后在需要时重新构建
-
你需要在服务器端处理这个问题。
-
您永远不应该将图像编码/解码到数据库中,这真的很糟糕。您应该为要上传到的文件创建一个文件夹,然后将 URL 保存到数据库用户的信息中,然后在 html 端,从该 url 中提取 inage。您可以使用库来简化您的工作。 npmjs.com/search?q=uploads+images
标签: javascript node.js