Home > Blockchain >  How to get file from an already loaded source?
How to get file from an already loaded source?

Time:07-24

I'm trying to access a gif file from an already loaded source to read it's meta data
(by using the console in devTools)

The html is as such:

<video>
 <source src="https://somesite.com/somegif.gif?format=mp4">
</video>

and I already have a function which reads and prints the meta data but it takes File data type as an argument:

function gifMetadata(file){
  let fileReader = new FileReader();
  fileReader.readAsArrayBuffer(file);
  ...
}

so how do I get file from source without having to fetch() the data again?

CodePudding user response:

"I'm trying to access a gif file from an already loaded source to read it's meta data
(by using the console in devTools)"

You cannot access bytes of content loaded in a media element.
You could try reading the .duration property, if the server is returning data in MP4 format.

<!DOCTYPE html> 
<html> 
<body> 

<video id="myVideo" width="320" height="176" controls>
<source src="https://somesite.com/somegif.gif?format=mp4" type="video/mp4">
</video>

<script>

var duration = -1;
var vid = document.getElementById("myVideo");

vid.onloadedmetadata = function(){ get_Duration() };

function get_Duration()
{
    duration = vid.duration;
    //alert("duration (secs) : "   duration);
    console.log("duration (secs) : "   duration);
}

</script> 

</body> 
</html>
  • Related