Как удалить кнопку «Загрузить» из видеоэлемента? - PullRequest
2 голосов
/ 01 марта 2020

У меня есть веб-сайт, на котором пользователь может получить доступ к видео, сохраненному в моем хранилище в облачном хранилище Google, с подписанным аккаунтом, но у видео есть опция загрузки:

enter image description here

и я не хочу разрешить эту кнопку, я хочу, чтобы видео было только для предварительного просмотра. Как я могу это сделать? Я ничего не нашел в документации GCS (https://googleapis.dev/nodejs/storage/latest/index.html).

Я использую NodeJs для серверной части, и я создаю signUrl следующим образом:

var expiry = new Date(Date.now() + 120000);
const file = bucket.file(req.file.cloudStorageObject);
const config = {
  action: "read",
  expires: expiry
};

file.getSignedUrl(config, function(err, url) {
  if (err) {
    console.error(err);
    return;
  }

  // The file is now available to read from this URL.
  request(url, function(err, resp) {
    console.log(444444, url);
  });
});
res.send(200);

Ответы [ 2 ]

2 голосов
/ 01 марта 2020

Вы можете использовать свойство controlsList интерфейса HTMLMediaElement, чтобы удалить кнопку загрузки из вашего видеоэлемента.

Просто используйте метод setAttribute , чтобы добавить * Атрибут 1007 * со значением nodownload для вашего видеоэлемента после загрузки страницы должен удалить для вас параметр загрузки.

document.querySelector('video').setAttribute("controlslist", "nodownload");

Проверьте и запустите следующий фрагмент кода для практического использования. Пример вышеуказанного подхода:

document.querySelector('video').setAttribute("controlslist", "nodownload");
<video controls="" autoplay="" name="media"><source src="https://storage.googleapis.com/plataforma-redacao/1583013110538y2mate.com%20-%20OZZY%20OSBOURNE%20-%20Under%20The%20Graveyard%20%28Official%20Audio%29_fMAAMfHgO4Q_720p.mp4?GoogleAccessId=plataforma-redacao%40redacao-269717.iam.gserviceaccount.com&amp;Expires=1583025155&amp;Signature=bScPwZkEhJVjt8mEQMT0BeE8CdQLoqPb5CrxLd%2BLUTd%2BF6ypL3eNVe3oGSxiRM4nWpfESlA32PgsrQ417%2FZrWuT%2FxZoeyQmSxW0G4ksZjG%2FNWBnsMGBRP7D6a2nJsuS%2BYy82anismfaBKtKEhTRhF6EehC3YRQD5BqgeJ8Q4yU3u9IeI9WWwr8aeQJUt2PafWiNADGz9rk4hR%2BdWl3SHR5sj9fZf6k8%2BSyW3ZKPsd%2BzGGrX6QhpkKYXCxf%2FioedEClbFriWKYfKhpZGvkSdmYSv9ZHHUD0%2ByjiXRHWZrO8QOvIQd2kUDATC%2B6EARuHk0jcQmapOAkm2S4k6rwwolbg%3D%3D" type="video/mp4"></video>
0 голосов
/ 01 марта 2020

Эта кнопка не предоставляется облачным хранилищем. Это обеспечивается браузером, который просматривает контент. Все публичные c загружаемые URL-адреса могут быть загружены путем прямого доступа к URL-адресу, и на самом деле это невозможно остановить. Любой, у кого есть URL, всегда может загрузить контент. Если вы хотите разрешить воспроизведение и остановить все прямые загрузки, облачное хранилище - не то решение, которое вам нужно. Вместо этого вам нужно будет использовать службу потокового видео с шифрованием.

...