【发布时间】:2019-10-19 02:07:49
【问题描述】:
我有以下代码为文件生成签名的上传网址:
const { Storage } = require('@google-cloud/storage');
const bucketName = 'foo-upload';
const storage = new Storage();
const uploadBucket = storage.bucket(bucketName);
exports.generateUploadLink = async (req, res) => {
let contentId = req.query.contentId || req.body.contentId;
let file = uploadBucket.file(`${contentId}.mp3`);
try {
let signedUrl = await file.getSignedUrl({
action: 'write',
expires: Date.now() + (30 * 1000),
contentType: 'audio/mpeg'
});
res.status(200).json({meta: { status: 'OK'}, uploadUrl: signedUrl[0]});
} catch(err) {
console.log(`Error while getting signed url: ${err}`);
res.status(500).json({meta: { status: 'FAIL', message: `Could not generate signed upload url for: ${contentId}`, error: err}});
}
return;
};
如何对已签名的 Url 实施内容长度限制,以便随后 PUT 到 Url 的超过一定字节数的文件将被拒绝?
【问题讨论】:
标签: node.js google-cloud-platform google-cloud-storage