【发布时间】:2015-08-14 13:37:38
【问题描述】:
当我将图像数据编码为 base64 字符串时,我使用服务器文件路径通过fs.readFile() 获取图像数据。我有一个问题:这是否意味着其他人可以解码 base64 字符串,然后从编码数据中获取服务器路径,如下所示?
...
fs.readFile(destinationFilePath, function(error, data){
fulfill(data.toString('base64'));
});
我不想泄露我的服务器路径,所以我也尝试像下面的代码一样对主机 url 进行编码,我不确定这种使用 base64 的正确方法吗?我没有收到任何错误,但也没有收到任何回复 - 我错过了什么吗?
var base64EncodeData = function(destinationFilePath) {
return new Promise(function (fulfill, reject){
var request = require('request').defaults({ encoding: null });
request.get(destinationFilePath, function (error, response, body) {
if (!error && response.statusCode == 200) {
data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
console.log(data);
fulfill(data);
}
});
});
};
【问题讨论】:
-
如果您对这样的任何内容进行编码,您可以复制路径加密并对其进行解码。如果您在 google 上查找,您会发现许多可以编码/解码的网站。如果出于某种原因有人想要找到路径,它可以在几秒钟内完成。 base64decode.org
标签: javascript node.js express base64