使用Node.js从Google云存储中获取链接文件可以通过以下步骤实现:
@google-cloud/storage
模块,该模块是Google Cloud Storage的官方Node.js客户端库,用于与Google云存储进行交互。运行以下命令进行安装:npm install @google-cloud/storage
@google-cloud/storage
模块,并创建一个新的存储实例。具体代码如下:const { Storage } = require('@google-cloud/storage');
const storage = new Storage();
keyfile.json
。代码如下:const { Storage } = require('@google-cloud/storage');
const storage = new Storage({
keyFilename: 'keyfile.json',
});
bucket
方法打开一个指定的存储桶。可以将存储桶名称作为参数传递给bucket
方法。代码如下:const { Storage } = require('@google-cloud/storage');
const storage = new Storage({
keyFilename: 'keyfile.json',
});
const bucket = storage.bucket('your-bucket-name');
请将your-bucket-name
替换为您实际使用的存储桶名称。
file
方法获取对应文件的引用。传递文件路径和名称作为参数。代码如下:const { Storage } = require('@google-cloud/storage');
const storage = new Storage({
keyFilename: 'keyfile.json',
});
const bucket = storage.bucket('your-bucket-name');
const file = bucket.file('path/to/your-file.jpg');
请将path/to/your-file.jpg
替换为实际文件的路径和名称。
getSignedUrl
方法生成用于获取文件的公开可访问URL。传递一个包含有效时间的选项对象作为参数。代码如下:const { Storage } = require('@google-cloud/storage');
const storage = new Storage({
keyFilename: 'keyfile.json',
});
const bucket = storage.bucket('your-bucket-name');
const file = bucket.file('path/to/your-file.jpg');
const options = {
version: 'v4',
action: 'read',
expires: Date.now() + 15 * 60 * 1000, // 15分钟后过期
};
file.getSignedUrl(options, (err, url) => {
if (err) {
console.error(err);
return;
}
console.log('文件链接:', url);
});
这段代码将会在控制台输出文件的公开可访问URL。
请注意,上述代码仅生成一个用于获取文件的临时URL,该URL在过期时间到达后将不再可用。根据实际情况,您可以根据需要调整选项对象中的参数。
领取专属 10元无门槛券
手把手带您无忧上云