我创建了一个这样的minio客户端:
endPoint: process.env.END_POINT,
port: parseInt(process.env.PORT),
useSSL: false,
accessKey: process.env.ACCESS_KEY,
secretKey: process.env.SECRET_KEY,
});
但是以这种方式使用环境变量无法连接到minio bucket。相反,如果我使用硬编码的值,客户端将成功创建。
有没有什么方法可以使用环境变量或其他方法来保证凭证的安全?
我使用minio的相关代码:
const filePath = req.file.path;
const metaData = {
"Content-Type": req.file.mimetype,
};
const bucketName = "abc";
const objectName = req.file.originalname;
minioClient.fPutObject(
bucketName,objectName,filePath,metaData,
async (err, etag) => {
if (err) {
console.log("Error uploading image:", err);
return res.status(500).send("Error uploading the image.");
}
console.log("Image uploaded successfully: ", objectName);
const username = req.user.username;
const newPost = new Post({
content: req.body.content,
image: "http://localhost:9000/abc/" + objectName,
username: username,
});
const savedPost = await newPost.save();
1条答案
按热度按时间eit6fx6z1#
我自己解决了这个问题
本
有两个错误,首先minio运行在不同的端口上,所以我必须指定一个不同的端口,其次环境变量被视为字符串,所以必须使用parseInt,这样它才能正确地存储为整数。