Firebase Storage не знает, какой тип контента вы храните. Если вы загружаете видео на него, оно никак не анализируется. Таким образом, он не может отклонить (или обрезать) загрузку после определенной продолжительности видео.
Все, что он может сделать, это отклонить в зависимости от размера загрузки, как показано в документации Firebase по правилам безопасности на стороне сервера :
// Allow write files to the path "images/*", subject to the constraints:
// 1) File is less than 5MB
// 2) Content type is an image
// 3) Uploaded content type matches existing content type
// 4) File name (stored in imageId wildcard variable) is less than 32 characters
match /{imageId} {
allow write: if request.resource.size < 5 * 1024 * 1024
&& request.resource.contentType.matches('image/.*')
&& request.resource.contentType == resource.contentType
&& imageId.size() < 32
Если вы хотите что-то более конкретное, вам придется:
- Выполните фильтрацию в коде на стороне клиента, возможно, в дополнение к ограничению размера в правилах безопасности на стороне сервера.
- Вы также можете выполнить последующую обработку видеофайлов в коде на стороне сервера или в облачных функциях. Ближайший пример - облачная функция , которая генерирует эскизы загруженных изображений .