Member 13779417 Ответов: 1

Передача url-адреса видео в javascript из VB.NET чтобы создать миниатюру


Я пытаюсь сгенерировать и сохранить миниатюру из загруженного видео с помощью VB.Net. Я перепробовал все, но все еще учусь. Мне дали следующий Javascript, который, если вы копируете и вставляете его как есть, работает нормально.. Вы выбираете локальный файл, и он создает миниатюру. Однако я действительно не знаю Javascript и нуждаюсь в нем, чтобы просто создать миниатюру из заданного url-адреса, который я передаю ему из VB.Чистый код затем сохраните его в той же папке. Кто-нибудь знает, как это сделать, пожалуйста? Очень ценю это.

<script type='text/javascript'>
document.getElementsByTagName('input')[0].addEventListener('change', function(event) {
  var file = event.target.files[0];
  var fileReader = new FileReader();
  if (file.type.match('image')) {
    fileReader.onload = function() {
      var img = document.createElement('img');
      img.src = fileReader.result;
      document.getElementsByTagName('div')[0].appendChild(img);
    };
    fileReader.readAsDataURL(file);
  } else {
    fileReader.onload = function() {
      var blob = new Blob([fileReader.result], {type: file.type});
      var url = URL.createObjectURL(blob);
      var video = document.createElement('video');
      var timeupdate = function() {
        if (snapImage()) {
          video.removeEventListener('timeupdate', timeupdate);
          video.pause();
        }
      };
      video.addEventListener('loadeddata', function() {
        if (snapImage()) {
          video.removeEventListener('timeupdate', timeupdate);
        }
      });
      var snapImage = function() {
        var canvas = document.createElement('canvas');
        canvas.width = video.videoWidth;
        canvas.height = video.videoHeight;
        canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
        var image = canvas.toDataURL();
        var success = image.length > 100000;
        if (success) {
          var img = document.createElement('img');
          img.src = image;
          document.getElementsByTagName('div')[0].appendChild(img);
          URL.revokeObjectURL(url);
        }
        return success;
      };
      video.addEventListener('timeupdate', timeupdate);
      video.preload = 'metadata';
      video.src = url;
      // Load video in Safari / IE11
      video.muted = true;
      video.playsInline = true;
      video.play();
    };
    fileReader.readAsArrayBuffer(file);
  }
});

</script>


<style>
div {
  line-height: 200px;
}

img {
  max-width: 200px;
  max-height: 200px;
  padding: 5px;
  vertical-align: middle;
  text-align: center;
}

@supports (object-fit: cover) {
  img {
    width: 200px;
    height: 200px;
    object-fit: cover;
  }
}
</style>


Что я уже пробовал:

Это код, который у меня есть в VB, который сохраняет файл после того, как пользователь загрузил видео..

AjaxFileUpload1.SaveAs("E:\kunden\homepages\19\d664110395\www\myurl\catalog\videos\" & imageFilename)


Я попытался передать imagefilename в javascript, но вместо этого он ищет входные значения.

1 Ответов

Рейтинг:
0

Maciej Los

Зачем передавать путь к видеофайлу в javascript, чтобы иметь возможность создавать миниатюры через него?

Использование VB.NET вместо этого!
Проверить это:
в C# - как я могу получить миниатюру видео в .Чистая? - переполнение стека[^]
VS 2008 [РЕШЕНО] Миниатюра из видеофайла-VBForums[^]
VB.NET - создание миниатюр изображений из видеофайлов - VB.NET для всех! -[^] - в нижней части страницы вы найдете ссылку для загрузки полного проекта.