У меня есть следующий код, который генерирует подписанный URL-адрес для загрузки файла:
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-адреса, чтобы файл впоследствии передавался на URL-адрескоторый больше определенного количества байтов будет отклонен?