,可以通过以下步骤实现:
const { Storage } = require('@google-cloud/storage');
const axios = require('axios');
exports.uploadFileFromUrl = async (req, res) => {
const fileUrl = req.body.url; // 从请求中获取文件的 URL
const bucketName = 'your-bucket-name'; // 替换为你的 Google Storage 存储桶名称
const fileName = 'your-file-name'; // 替换为你想要保存的文件名
try {
const response = await axios.get(fileUrl, { responseType: 'arraybuffer' });
const fileData = response.data;
const storage = new Storage();
const bucket = storage.bucket(bucketName);
const file = bucket.file(fileName);
await file.save(fileData);
res.status(200).send('文件上传成功!');
} catch (error) {
console.error('文件上传失败:', error);
res.status(500).send('文件上传失败!');
}
};
save
方法将文件数据保存到 Google Storage 中。这样,云函数就能够将文件从给定的 URL 上传到 Google Storage 中了。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,实际实现可能需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云